我有这个字符串:
[{"id":1,"code":"number","field":"Customer Number","value":"123456"},{"id":2,"code":"customerName","field":"Customer Name","value":"John"}]
我想在java中获取这些值:
客户编号:123456
客户名称:John
我该怎么做?
谢谢你的一切。
温暖的问候。答案 0 :(得分:0)
解决方案使用杰克逊。需要有JACKSON的databind,core和annotation jar。确保所有3个罐子的版本相同。
为JSON创建类,如下所示:
public class Items {
private int id;
private String code;
private String field;
private String value;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
由于您拥有的数据是JSON数组,因此反序列化的方法如下:
String jsonString = "your Json array";
ObjectMapper mapper = new ObjectMapper();
List<Data> objList = mapper.readValue(jsonString, new TypeReference<List<Data>>(){});
for (Data obj : objList) {
//code.
}
如果数据是一个简单的JSON对象,则反序列化将为:
String jsonString = "your JSON";
ObjectMapper mapper = new ObjectMapper();
Data obj = mapper.readValue(jsonString, Data.class);
System.out.println(obj.getId());
答案 1 :(得分:0)
您使用JsonArray,其中包含文档here:
{{1}}