java中处理json数据方法_ jsonobject使用详解
java如何解析json数据的,java如何把数据转化成json格式的数据?
下面介绍一下使用jsonobject处理json数据的方法:
1.首先要下载jsonobject的相应的jar包
commons-beanutils-1.8.0.jar
commons-collections-3.2.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
2.下载完后把jar包放到项目工程的lib目录下
3.jsonjar的使用方法完整实例如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
List<User> userList = new ArrayList<User>();
userList.add(new User(1, "aa"));
userList.add(new User(2, "bb"));
// 把java 对象列表转换为json对象数组,并转为字符串
JSONArray jsonArray = JSONArray.fromObject(userList);
System.out.println(jsonArray.toString());
Map<String, List<User>> maps = new HashMap<String, List<User>>();
maps.put("users", userList);
// 把java对象转换成json对象,并转化为字符串
JSONObject object = JSONObject.fromObject(maps);
System.out.println("对象转成json字符串:" + object.toString());
// 把JSON字符串转换为JAVA 对象数组
JSONArray json = JSONArray.fromObject("[{\"id\":1,\"name\":\"aa\"},{\"id\":2,\"name\":\"bb\"}]");
List<User> users = (List<User>)JSONArray.toCollection(json, User.class);
for (User user : users) {
System.out.println("json 字符串转数组:" +user.getName());
}
String jsonStr = "{\"users\":[{\"id\":1,\"name\":\"aa\"},{\"id\":2,\"name\":\"bb\"}]}";
// 把JSON字符串转换为JAVA 对象
JSONObject jsonobject = JSONObject.fromObject(jsonStr);
// 获取一个json数组
JSONArray array = jsonobject.getJSONArray("users");
// 将json数组 转换成 List<User>泛型
List<User> list = new ArrayList<User>();
for (int i = 0; i < array.size(); i++) {
JSONObject objects = (JSONObject)array.get(i);
// 转换User实体类
User user = (User)JSONObject.toBean(objects, User.class);
if (user != null) {
System.out.println("转换User实体类:" + user.getId());
list.add(user);
}
}
}
}
user类
public class User{
private int id;
private String name;
public User(){
}
public User(int id,String name){
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
顶
踩
相关文章:

![[解决]--java_out: User.proto: User.proto: Cannot generate Java output because the file 's outer class](http://www.jsjtt.com/d/file/bianchengyuyan/Java/2015-06-05/2d22515a4d7a6293ef087eab22f714d8.png)
