我在Android应用程序中使用Jackson解析器进行JSON解析。 JSON数据采用以下形式
data: {
train_number: "12951",
chart_prepared: false,
class: "2A"
}
如何在Java中使用 class 名称解析属性? 求你帮帮我。
答案 0 :(得分:1)
一开始 - 您的JSON无效。它应该是这样的:
{"train_number":1,"chart_prepared":false,"class":"2A"}
您可以使用@JsonProperty
注释更改默认名称属性。
您的POJO类看起来应该是这样的:
class Data {
private int train_number;
private boolean chart_prepared;
@JsonProperty(value = "class")
private String clazz;
...
}
现在您可以构建简单的测试方法:
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonProgram {
public static void main(String[] args) throws Exception {
Data data = new Data();
data.setTrain_number(1);
data.setClazz("2A");
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(data);
System.out.println(json);
System.out.println(objectMapper.readValue(json, Data.class));
}
}
以上程序打印:
{"train_number":1,"chart_prepared":false,"class":"2A"}
Data [train_number=1, chart_prepared=false, clazz=2A]