2016-03-31 8 views
0

Я использую Jackson lib для создания Json файлов.JACKSON, JSON: Заголовки списков

после создания класса компонента,

Класс ActiveOrderResponse

public class ActiveOrderResponse implements IWsResponse { 

    @JsonProperty("error") 
    public String errorMsg; 

    @JsonProperty("errorDsc") 
    public String errorDesc = ""; 

    @JsonProperty("Orders") 
    public ArrayList<ActiveOrder> orders = new ArrayList<ActiveOrder>(); 
} 

Класс ActiveOrder

public class ActiveOrder { 

    @JsonProperty("OrderNo") 
    private String orderNo; 

    @JsonProperty("Status") 
    private String status; 

    @JsonProperty("Description") 
    private String description = ""; 
} 

я есть это Json в Result:

{"error":"000", 
"errorDsc":"", 
"Orders":[ 
{"OrderNo":"Order_1", 
"Status":"NOT_EXISTS", 
"Description":""}, 
{"OrderNo":"Order_2", 
"Status":"COMPLETED", 
"Description":""}, 
{"OrderNo":"Order_3", 
"Status":"CREATED", 
"Description":""}, 
{"OrderNo":"Order_4", 
"Status":"NOT_IMPORTED", 
"Description":""}] 
} 

Но я пошел Json быть, как это (название «Заказать» в начале каждого списка заказа):

{"error":"000", 
"errorDsc":"", 
"Orders":[ 
"Order" : {"OrderNo":"Order_1", 
"Status":"NOT_EXISTS", 
"Description":""}, 
"Order" : {"OrderNo":"Order_2", 
"Status":"COMPLETED", 
"Description":""}, 
"Order" : {"OrderNo":"Order_3", 
"Status":"CREATED", 
"Description":""}, 
"Order" : {"OrderNo":"Order_4", 
"Status":"NOT_IMPORTED", 
"Description":""}] 
} 
+0

Можете ли вы показать класс 'ActiveOrder', пожалуйста? –

+2

Вот пример, похожий на ваш вопрос: http://stackoverflow.com/questions/2435527/use-class-name-as-root-key-for-json-jackson-serialization – Wakachopo

+0

спасибо @Wakachopo Я нашел решение в ваш заданный вопрос. –

ответ

0

Моя среда, если проблема не решена, покажите мне код с ObjectMapper:

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-mapper-asl</artifactId> 
    <version>1.9.6</version> 
</dependency> 


public static void main(String[] args) throws IOException { 
    ActiveOrderResponse activeOrderResponse = new ActiveOrderResponse(); 
    activeOrderResponse.orders = new ArrayList<ActiveOrder>(); 
    activeOrderResponse.orders.add(new ActiveOrder()); 
    ObjectMapper om = new ObjectMapper(); 
    om.configure(SerializationConfig.Feature.INDENT_OUTPUT, true); 
    om.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES, true); 
    String json = om.writeValueAsString(activeOrderResponse); 
    System.out.println(json); 
} 


{ 
    "error" : null, 
     "errorDsc" : "", 
     "Orders" : [ { 
    "OrderNo" : null, 
      "Status" : null, 
      "Description" : "" 
} ] 
}