我正在尝试解析JSON,但它无法正常工作。示例JSON:
{
"Rpts": {
"am": [
{
"rf":"1",
"nm":"NS",
"in":"100.200.210.209",
"tn":"8080"
}
]
}
}
像这样提取JSON:
Rpts dem=gsonReq.fromJson(responseJson, Rpts.class);
我的Rptsclass:
public class Rpts
{
private AMS am;
public AMS getAm() {
return am;
}
public void setAm(AMS am) {
this.am = am;
}
}
我的AMS课程:
public class AMS
{
private String rf;
private String nm;
private String in;
private String tn;
public String getRf() {
return rf;
}
public void setRf(String rf) {
this.rf = rf;
}
public String getNm() {
return nm;
}
public void setNm(String nm) {
this.nm = nm;
}
public String getIn() {
return in;
}
public void setIn(String in) {
this.in = in;
}
public String getTn() {
return tn;
}
public void setTn(String tn) {
this.tn = tn;
}
}
解析每次都抛出异常。 请指导..
答案 0 :(得分:1)
在您的JSON中,Rpts
包含am
...
所以你的java类应该是:
public class Rpts {
private Collection<AMS> am;
public Collection<AMS> getAm() {
return am;
}
public void setAm(Collection<AMS> am) {
this.am = am;
}
}
答案 1 :(得分:0)
RPTS课程
public class Rpts {
private List<AMS> am;
/**
* @return the am
*/
public List<AMS> getAm() {
return am;
}
/**
* @param am the am to set
*/
public void setAm(List<AMS> am) {
this.am = am;
}
}
Json已修改 - 从开始时删除了{"Rpts":
,从结尾删除了}
测试类
public static void main(String[] args) {
String json = "{\"am\": [{\"rf\":\"1\",\"nm\":\"NS\",\"in\":\"100.200.210.209\",\"tn\":\"8080\"}]}";
ObjectMapper mapper = new ObjectMapper();
Rpts rpts = new Rpts();
try {
rpts = mapper.readValue(json, Rpts.class);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(rpts.getAm().get(0).getRf());
System.out.println(rpts.getAm().get(0).getNm());
}
<强>输出强>
1
NS