java 中json的使用

原创 2015年07月10日 15:56:38

首先需要下载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(){
		
	}
	
}


版权声明:仅用于学习交流使用,如果错误请联系我,相互学习,本文为博主原创文章,未经博主允许不得转载。

java中使用json需要导入的jar包

  • 2017年11月29日 17:07
  • 1.06MB
  • 下载

java 常用序列化和反序列化框架使用-json,kyro,jdk

不知道为什么博客不能收藏了,只好转载过来。 转载地址:http://blog.csdn.net/earbao/article/details/46914407 [java]...

Java中使用Json

  • 2015年07月03日 20:26
  • 6KB
  • 下载

java json jar包(共6个有使用说明)

  • 2014年06月06日 11:14
  • 1.13MB
  • 下载

【Java】使用Json-lib序列化关联对象的异常解决

使用Json-lib序列化关联对象的异常解决
  • LZGS_4
  • LZGS_4
  • 2016年01月10日 20:52
  • 752

JSON--JAVA相互转换数据使用方法

  • 2012年10月19日 15:57
  • 97KB
  • 下载

SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(上)

配合@ResponseBody注解,以及HTTP Request Header中的Accept属性,Controller返回的Java对象可以自动被转换成对应的XML或者JSON数据。...
  • fw0124
  • fw0124
  • 2015年09月09日 10:50
  • 28449

java配合json使用的JAR

  • 2013年12月09日 14:12
  • 1.98MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 中json的使用
举报原因:
原因补充:

(最多只允许输入30个字)