什么是Json的相应Java数据类型

时间:2018-02-15 14:07:33

标签: java json

Java中的哪些数据结构跟随Json?它是地图,数组,列表吗?请注意,正确的大小没有引号。

segmentList : [{
segmentStockName : "Colombia Stock Exchange",
segmentName : "Equity Market",
segmentStockExchangeId : "CO-BVC"
}],

1 个答案:

答案 0 :(得分:-1)

这个json:

String json = "{ segmentList : [{\n" +
        "segmentStockName : \"Colombia Stock Exchange\",\n"+
        "segmentName : \"Equity Market\",\n"+
        "segmentStockExchangeId : \"CO-BVC\"\n"+
        "}]}";

我创建以下代码

import java.util.List;

public class MyObject {
    private List<SegmentList> segmentList;

    public List<SegmentList> getSegmentList() {
        return segmentList;
    }

    public void setSegmentList(List<SegmentList> segmentList) {
        this.segmentList = segmentList;
    }

}

public class SegmentList {
    private String segmentStockName;
    private String segmentName;
    private String segmentStockExchangeId;
    public String getSegmentStockName() {
        return segmentStockName;
    }
    public void setSegmentStockName(String segmentStockName) {
        this.segmentStockName = segmentStockName;
    }
    public String getSegmentName() {
        return segmentName;
    }
    public void setSegmentName(String segmentName) {
        this.segmentName = segmentName;
    }
    public String getSegmentStockExchangeId() {
        return segmentStockExchangeId;
    }
    public void setSegmentStockExchangeId(String segmentStockExchangeId) {
        this.segmentStockExchangeId = segmentStockExchangeId;
    }   
}

我知道您希望自动反序列化,但我手动执行

ObjectMapper mapper = new ObjectMapper();

try {
    // Needed to hande a json without quotes on field names
    mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
    MyObject tipo = mapper.readValue(json, MyObject.class);
    tipo.getSegmentList();
} catch (IOException e) {
    // catch it
}

它有效。