[Json]json-lib简单处理java对象变为json对象

由于js对json的原生支持,所以现在很多项目的数据传输都喜欢用json。 怎么样把数据从java对象转化为json对象,有怎么把前台的json对象转化成java对象去处理?

这是开发中常要解决的问题。

json-lib是sourceforge的一个开源项目,常用来解决java json数据转换的问题。

下载地址是 http://sourceforge.net/projects/json-lib/

但是还需要一些依赖包才可以正常使用

commons-beanutils-1.8.0.jar

commons-collections-3.1.jar

commons-logging-1.1.1.jar

commons-logging-api-1.1.jar

ezmorph-1.0.6.jar

commons-lang-2.4.jar  !!用3.x的jar无法运行的

这里是这些包的下载地址


由于官网的doc总是打不开 于是就看了下别人的blog 

这里是java -》json 转化的几个小案例

Person.java  javabean模型

 

package com.lzz.json;



public class Person {

	private int id;

	private String name;

	private String addr;

	

	public Person(){ }

	

	public Person(int id, String name, String addr) {

		super();

		this.id = id;

		this.name = name;

		this.addr = addr;

	}



	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;

	}



	public String getAddr() {

		return addr;

	}



	public void setAddr(String addr) {

		this.addr = addr;

	}

}


这里是几个操作的案例

 

SimpleJavaToJson.java

 

package com.lzz.json;



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;



/**ref http://ryxxlong.iteye.com/blog/583862

 *json 支持原生的js 

 *使用eval 可以直接变为js对象	

 *JSON Java  

 *string <=> java.lang.String, java.lang.Character, char 

 *number <=> java.lang.Number, byte, short, int, long, float, double 

 *true|false <=> java.lang.Boolean, boolean 

 *null <=> null 

 *function <=> net.sf.json.JSONFunction 

 *array <=> net.sf.json.JSONArray (object, string, number, boolean, function) 

 *object <=> net.sf.json.JSONObject 

*/



public class SimpleJavaToJson {

	public static void main(String[] args) {

		/*集合类型的从java 编程json对象*/

		//arrayJson();

		//listJson();

		//stringJson();

		

		/*map类型的处理*/

		mapJson();

		

		/*javabean的处理*/

		beanJson();

	}

	

	//数组处理

	public static void arrayJson(){

		String arr[] ={"lzz","12","ee"} ;

		JSONArray jarr = JSONArray.fromObject(arr);

		System.out.println(jarr);

	}

	

	//List处理

	public static void listJson(){

		List<String> list = new ArrayList<String>();

		list.add("apple");

		list.add("orange");

		list.add("money");

		JSONArray jlist = JSONArray.fromObject(list);

		System.out.println(jlist);

	}

	

	//字符串 形式 这里的字符串一定要符合json 集合的格式

	public static void stringJson(){

		String str = "['a','b','c',{d:'aa'}]";

		JSONArray jarr = JSONArray.fromObject(str);

		System.out.println(jarr);

	}

	

	//将map类型转化为json格式,生成的json对象也是没有顺序的

	public static void mapJson(){

		Map map = new HashMap();

		map.put("name", "apple");

		map.put("age", new Integer(20));

		map.put("haoren",Boolean.TRUE);

		map.put("arr", new String[]{"a","b","c"});

		JSONObject jobj = JSONObject.fromObject(map);

		System.out.println(jobj);

	}

		

	//javabean 的json转化

	public static void beanJson(){

		Person p = new Person(101, "apple", "China");

		JSONObject jobj = JSONObject.fromObject(p);

		System.out.println(jobj);

	}

		

}


 

 

你可能感兴趣的:(json-lib)