【问题标题】:JACKSON, JSON : List Titles杰克逊,JSON:列出标题
【发布时间】:2016-03-31 09:42:01
【问题描述】:

我正在使用Jackson lib 来生成Jsonfiles。

在创建 bean 类之后,

类 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

{"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":""}]
}

【问题讨论】:

  • 请给我上课ActiveOrder好吗?
  • 这是一个与您的问题类似的示例:stackoverflow.com/questions/2435527/…
  • 感谢@Wakachopo,我在您的标记问题中找到了解决方案。
  • @JsonTypeInfo(include=As.WRAPPER_OBJECT, use=Id.NAME)

标签: java json spring jackson


【解决方案1】:

我的环境,如果问题没有解决,用 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" : ""
} ]
}

【讨论】:

    猜你喜欢
    • 2014-12-18
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 2020-12-24
    • 2019-05-02
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多