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
json lib以及相关依赖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; } }