如何在Android中使用Jackson从JSONArray url获取java对象

如何在Android中使用Jackson从JSONArray url获取java对象,java,android,json,android-listview,jackson,Java,Android,Json,Android Listview,Jackson,这是我的来自URL的JSON 我有一个列表视图,我想从在线JSON中填充详细信息,上面我给出了一个链接和示例JSON,任何人都可以给出java中的示例jackson代码 谢谢你的预告, Rajesh Rajendiran如果您得到的是http响应,那么我建议使用android的spring rest模板。 它支持消息转换器。这样一来,编组和解编的责任就减轻了 [更新] 这里有一个同样的博客: 有关更多详细信息,请参阅文档: 要使用jackson,您需要创建一个模型类: [ { "s

这是我的来自URL的JSON

我有一个列表视图,我想从在线JSON中填充详细信息,上面我给出了一个链接和示例JSON,任何人都可以给出java中的示例jackson代码

谢谢你的预告,
Rajesh Rajendiran

如果您得到的是http响应,那么我建议使用android的spring rest模板。 它支持消息转换器。这样一来,编组和解编的责任就减轻了

[更新] 这里有一个同样的博客:

有关更多详细信息,请参阅文档:


要使用jackson,您需要创建一个模型类:

[
  {
    "serviceNo":"SR0000000001",
    "serDate":"17",
    "serMonth":"DEC",
    "serYear":"2015",
    "serTime":"02.30 AM",
    "serApartmentName":"Galaxy Apartments"
  },
  {
    "serviceNo":"SR0000000002",
    "serDate":"19",
    "serMonth":"JUN",
    "serYear":"2016",
    "serTime":"03.30 AM",
    "serApartmentName":"The Great Apartments"
  }
]
对于上述json,模型类将是:

public class SomeClass {
 private String serviceNo;
 private String serDate;
 private String serMonth;
 private String serYear;
 private String serTime;
 private String serApartmentName;

 @JsonProperty("serviceNo") //to bind it to serviceNo attribute of the json string
 public String getServiceNo() {
  return serviceNo;
 }

 public void setServiceNo(String sNo) { //@JsonProperty need not be specified again
  serviceNo = sNo;
 }

 //create getter setters like above for all the properties.
 //if you want to avoid a key-value from getting parsed use @JsonIgnore annotation

}
现在,只要将上述json作为字符串存储在变量中,比如jsonString,请使用以下代码对其进行解析:

ObjectMapper mapper = new ObjectMapper(); // create once, reuse
ArrayList<SomeClass> results = mapper.readValue(jsonString,
   new TypeReference<ArrayList<ResultValue>>() { } );
ObjectMapper mapper=new ObjectMapper();//创建一次,重用
ArrayList results=mapper.readValue(jsonString,
新类型引用(){});
结果现在应该包含两个SomeClass对象,将上述json解析为各自的对象


PS:我已经很久没有使用Jackson进行解析了,所以这段代码可能需要一些改进。

这里的示例代码(忽略spring注入部分):非常感谢Varun
ObjectMapper mapper = new ObjectMapper(); // create once, reuse
ArrayList<SomeClass> results = mapper.readValue(jsonString,
   new TypeReference<ArrayList<ResultValue>>() { } );