2016-10-15 3 views
0

У меня есть два класса:Modify Джексон ответ

class A { 
    int id; 
    String name; 
} 

class B { 
    String property1; 
    String property2; 
    String property3; 
} 

когда А простирается Аргументы B

Ответ:

{ 
    "property1": "value1", 
    "property2": "value2", 
    "property3": "value3" 
    "id":1, 
    "name": 'my name" 
} 

Вместо этого, я хочу, чтобы отобразить их, как показано ниже:

{ 
    "id":1, 
    "name": 'my name', 
    "property1": "value1", 
    "property2": "value2", 
    "property3": "value3" 
} 
+0

Почему заказ ключей имеет значение? –

+0

Вы попробовали @JsonPropertyOrder? – kuhajeyan

ответ

0

Порядок полей в JSON obj не имеет значения. Согласно the spec:

Объект представляет собой неупорядоченный набор пар имя/значение

Так что вы спрашиваете, не имеет смысла.

+0

Джексон имеет аннотацию @ JsonPropertyOrder. если выше, это правда, это приносит мне путаницу – kuhajeyan

0

Вы должны иметь возможность использовать аннотацию JsonPropertyOrder.

@JsonPropertyOrder({"id", "name", "property1", "property2", "property3"}) 
class B { 
    ... 
+0

у вас есть другое решение? – vxba

+0

@vxba Я не понимаю, о чем вы спрашиваете сейчас – Ivan

+0

Прошу прощения. Я пробовал с @JsonPropertyOrde, но я вижу, что это очень неудобно, когда слишком много свойств – vxba