json反object化

今天写了一下json数据的反object化,将生成好的json数据,生成object,再去获取它的方法,这里要注意这个方法就像xml解析器一样,如果json数据格式有问题,就会报异常,故要进行异常处理.

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

//不使用simple包,使用json-lib-2.2.1.jar包
//import org.json.simple.JSONArray;
//import org.json.simple.JSONObject;

public class DefaultPicture {
	
	
	public String getPicInfo(){
		int id = 0;
		String content;
		
		JSONObject jSObject = new JSONObject();
		jSObject.put("url", "http://www.xingushi.com/meinvtuku/UploadPic/2009/2009223202533957.jpg");
		jSObject.put("type", "large");
		jSObject.put("width", 135);
		jSObject.put("height", 202);
		content = jSObject.toString();
//		content = content.replace("\"", "\\\"");//为了存放数据库而进行了替换,如果像main方法里使用它,那就不在加这个东西进去,这么报异常
		return content;
	}
	
	
	public static void main(String[] argv){
		DefaultPicture defaultPicture = new DefaultPicture();

		String aString = defaultPicture.getPicInfo();
		JSONObject test = null;
		try {
			test = JSONObject.fromObject(aString);
		} catch (Exception e) {
			e.printStackTrace();
		}
		System.out.println(test.get("height"));
		System.out.println(test.get("width"));
		System.out.println(test.get("type"));
		System.out.println(test.get("url"));
		System.out.println(test.get("abc"));//测试一个不存在的key,不存在就写输出null,而不是报异常
	}
}
 

如果不是反形成object,就不用使用json-lib-2.2.1.jar包,这个包使用相当麻烦,它依赖很多包,我一个个加,加了5个,加到怕:

commons-lang-2.4.jar

commons-logging-1.1.1.jar

ezmorph-1.0.6.jar

commons-collections-3.2.1.jar

commons-beanutils-1.7.0.jar

直接使用json_simple-1.1-4api.jar就可以简单用.

猜你喜欢

转载自hz-chenwenbiao-rr.iteye.com/blog/1669957