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

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;
	}
	
}

 

来源:本站//作者:admin/更新时间:2013-12-24
相关文章
评论:
验证码:
匿名评论: