阅读JSON的Java中的数组 [英] Read an array of JSON in JAVA
本文介绍了阅读JSON的Java中的数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的回应:
[ { "key": { "kind": "UserRecord", "id": 0, "name": "1" }, "firstName": "1", "lastName": "1", "homeLat": 0.0, "homeLon": 0.0, "workLat": 0.0, "workLon": 0.0, "currentLat": 10.0, "currentLon": 10.82, "timestamp": 1335735046606, "score": 0, "isStarred": false, "distance": 0.0 }, { "key": { "kind": "UserRecord", "id": 0, "name": "32423542324234324" }, "firstName": "Simone", "lastName": "Boscolo Berto", "homeLat": 0.0, "homeLon": 0.0, "workLat": 0.0, "workLon": 0.0, "currentLat": 55.786444, "currentLon": 12.515867, "timestamp": 1335884083696, "score": 0, "isStarred": false, "distance": 0.0 } ]
和从每个JSONObject的给我对象的方法
and a method that from each JSONObject give me my object
private User getUserFromJson(JSONObject jsonUser)
我如何在一个JSONObjects的该列表循环?我应该使用JSONArrayobject?
How can I iterate in that list of JSONObjects? should I use JSONArrayobject?
推荐答案
这可能是容易GSON或杰克逊
This could be easy with Gson or jackson
GSON例如
Gson gson = new Gson();
User[] users = gson.fromJson(<json string>, User[].class);
杰克逊例如
ObjectMapper mapper = new ObjectMapper();
Collection<User> users =
mapper.readValue(<json string>, `new TypeReference<Collection<User>>() {});
样品 -
package com.test;
import com.google.gson.Gson;
public class GSonExample {
public static void main(String[] args) {
String json = "{\"name\":\"Duke\",\"address\":\"Menlo Park\",\"dateOfBirth\":\"Feb 1, 2000 12:00:00 AM\"}";
Gson gson = new Gson();
User student = gson.fromJson(json, User.class);
System.out.println("student.getName() = " + student.getName());
System.out.println("student.getAddress() = " + student.getAddress());
System.out.println("student.getDateOfBirth() = " + student.getDateOfBirth());
}
}
public class User {
private String name;
private String address;
private String dateOfBirth;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(String dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
}
的classpath
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="lib" path="lib/gson-2.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
这篇关于阅读JSON的Java中的数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文