Дамп Java свойства объекта

Изменить с:

http://www.springframework.org/schema/cloud/aws/spring-cloud-aws-context.xsd

:

http://www.springframework.org/schema/cloud/spring-cloud-aws-context.xsd

, но вы можете проверить, все ли ваши схемы расположения ссылки возвращают 200 нормально перед тестированием. В случае 404 вы можете найти их индивидуально в http://www.springframework.org/schema/cloud/

63
задан Benj 19 October 2015 в 09:16
поделиться

4 ответа

Вы могли попробовать XStream.

XStream xstream = new XStream(new Sun14ReflectionProvider(
  new FieldDictionary(new ImmutableFieldKeySorter())),
  new DomDriver("utf-8"));
System.out.println(xstream.toXML(new Outer()));

распечатывает:

<foo.ToString_-Outer>
  <intValue>5</intValue>
  <innerValue>
    <stringValue>foo</stringValue>
  </innerValue>
</foo.ToString_-Outer>

Вы могли также произвести в JSON

И остерегаться циклических ссылок;)

41
ответ дан Schism 24 November 2019 в 16:18
поделиться

Возможно, Вы могли использовать XML обязательная платформа как XStream, Систематизатор или JAXB для этого.

4
ответ дан smonff 24 November 2019 в 16:18
поделиться

Вы можете использовать ReflectionToStringBuilder с настраиваемым ToStringStyle, например:

class MyStyle extends ToStringStyle {
    private final static ToStringStyle instance = new MyStyle();

    public MyStyle() {
        setArrayContentDetail(true);
        setUseShortClassName(true);
        setUseClassName(false);
        setUseIdentityHashCode(false);
        setFieldSeparator(", " + SystemUtils.LINE_SEPARATOR + "  ");
    }

    public static ToStringStyle getInstance() {
        return instance;
    };

    @Override
    public void appendDetail(StringBuffer buffer, String fieldName, Object value) {
        if (!value.getClass().getName().startsWith("java")) {
            buffer.append(ReflectionToStringBuilder.toString(value, instance));
        } else {
            super.appendDetail(buffer, fieldName, value);
        }
    }

    @Override
    public void appendDetail(StringBuffer buffer, String fieldName, Collection value) {
        appendDetail(buffer, fieldName, value.toArray());
    }
}

И затем вы вызываете его как:

ReflectionToStringBuilder.toString(value, MyStyle.getInstance());

Остерегайтесь циклических ссылок!


Вы также можете использовать json- lib ( http://json-lib.sourceforge.net ) и просто выполните:

JSONObject.fromObject(value);
20
ответ дан 24 November 2019 в 16:18
поделиться
JSONObject.fromObject(value)

Не работает для объектов Map с ключами, отличными от String. Может быть, JsonConfig справится с этим.

0
ответ дан 24 November 2019 в 16:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: