关闭

java 中json的使用

120人阅读 评论(0) 收藏 举报
分类:

首先需要下载json-lib包,引入项目中,同时依赖的几个包也同样需要commons-beanutils.jar,commons-collections-3.2.1.jar,commons-lang-2.2.jar,commons-logging.jar,ezmorph.jar。这些都准备好后,就可以使用json了。

1、map,list,object,转json:JSONArray ja = JSONArray.fromObject(o);即可完成转换,然后需要将ja放入JSONObject中,例如 

JSONObject jo = new JSONObject();

jo.put("o",ja);

使用toString方法可以转换成字符串格式。

2、json转java对象 

JSONObject jb = JSONObject.fromObject(jsonstring);

JSONArray ja = jb.getJSONArray("o");

可以用一个列表存储得到的对象,对ja进行循环调用getJSONObject方法可得到相应的对象,然后取出对应的属性


下面用一个例子演示json的使用

package my.zhao;

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 test {

	public static void main(String[] args) {
		
		ParseJson(BulidJson());
	}
	
	public static String BulidJson(){
		
		JSONObject jo = new JSONObject();
		
		Map<String, String> map1= new HashMap<String, String>();
		map1.put("name", "zhao");
		map1.put("sex", "man");
		map1.put("age", "25");
		
		Map<String, String> map2 = new HashMap<String, String>();
		map2.put("name", "王");
		map2.put("sex", "woman");
		map2.put("age", "25");
		 
		List<Map> list = new ArrayList<Map>();
		list.add(map1);
		list.add(map2);
		
		Employee employee = new Employee();
		employee.setName("wjl");
		employee.setAge("24");
		employee.setSex("man");
		
		
		JSONArray ja1 = JSONArray.fromObject(map1);
		JSONArray ja2 = JSONArray.fromObject(list);
		JSONArray ja3 = JSONArray.fromObject(employee);
		
		System.out.println("JSONArray对象数据格式");
		System.out.println("map:"+ja1.toString());
		System.out.println("list:"+ja2.toString());
		System.out.println("employee"+ja3.toString());
		
		jo.put("map", ja1);
		jo.put("list", ja1);
		jo.put("employee", ja2);
		System.out.println("\n最终构造的JSON数据格式:");
		System.out.println(jo.toString());
		
		return jo.toString();
	}
	
	public static void ParseJson(String jsonString){
		
		JSONObject jb = JSONObject.fromObject(jsonString);
		JSONArray ja = jb.getJSONArray("employee");
		JSONArray ja1 = jb.getJSONArray("map");
		JSONArray ja2 = jb.getJSONArray("list");
		
		
		List<Employee> empList = new ArrayList<Employee>();
		
		for(int i = 0;i<ja.size();i++){
			Employee employee = new Employee();
			employee.setName(ja.getJSONObject(i).getString("name"));
			employee.setSex(ja.getJSONObject(i).getString("sex"));
			employee.setAge(ja.getJSONObject(i).getString("age"));
			
			empList.add(employee);
			
		}
		
		System.out.println("\n将json数据转换为employee对象");
		for(int i=0;i<empList.size();i++){
			Employee emp = empList.get(i);
			System.out.println("name:"+emp.getName()+" sex:"+emp.getSex()+" age:" + emp.getAge());
		}
	}
	
	public static void tests(){
		
	}
	
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:668次
    • 积分:56
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档