FAST解析JSON

 fast解析json文件
 *   阿里巴巴的jar
 *  
 *   总结:
 *     1、有操作json文件的JSONObject对象类和JSONArray数组类
 *     
 *     2、 JSON类静态方法比较多,可以把java对象转换为json对象(需要强转)和json格式的字符串
 *     可以把json格式的字符串转换为java的对象 ------------ (具体类名.class)
 *     如果转换的类型为集合,那么就必须实现TypeReference泛型接口,调用getType()方法,并且给出具体的转换类型
 *     
 *     注意:和org.jar中一样,如果数据底层是数组结构时,不可以直接转换为JSONObject,运行时会报错

 *     


ublic class Fastjson {

	public static void main(String[] args) {
		JSONObject object=new JSONObject();//创建json对象
		object.put("id", 43);//添加key和value值    put()方法
		object.put("name", "刘德华");
		object.put("sex", "男");
		
		//json对象转换为字符串    toJSONString()方法
		String s=object.toJSONString();
		
		//java对象转换为json对象,需要强转     静态方法toJSON();
		JSONObject object2=(JSONObject) JSON.toJSON(new Student(2006,"杨钰莹",99.8));
		
		//json格式的字符串转换为json对象    静态方法parseObject();
		String json="{'id':'1002','name':'刘德华','sex':'男'}";
		JSONObject object3=JSON.parseObject(json);
		//System.out.println(object3);//打印对象信息
		//System.out.println(object3.get("name"));//通过key值获取对应的value值
		
		//json数组格式的字符串转换为json数组
		String jsons="[{'k1':'value1', 'k2':'value2'},{'k1':'value1', 'k2':'value2'}]";
		
		//字符串转换为json数组      静态方法parseArray();
		JSONArray array=JSON.parseArray(jsons);
		//System.out.println(array.toJSONString());
		
		//json格式的字符串转换为java对象
		//注意:字符串的内容和顺序必须和对象的属性一样
		//对象的属性(在json字符串中全部不用打引号)如果不是字符串类型,那么json格式的字符串的这个属性值可以不用打引号!!
		String str="{id: 1002 ,name:'刘德华',sex:'男'}";
		//字符串转换为具体的java对象        静态方法parseObject();
		//参数1:json格式的字符串      参数2:java对象的类型.class
		Student student=JSON.parseObject(str,Student.class); 
		
		//拿到学生对象的集合
		Listlist=JSONUtil.getListData();
		String s1=JSON.toJSONString(list);//java集合对象转换为json格式的字符串
		
		// 字符串转换为java对象(集合对象)     参数1:字符串      参数2:实现TypeReference泛型接口,调用getType()方法,给定转换的具体类型
		Listlist1=JSON.parseObject(s1, new TypeReference>(){}.getType());
		for(Student stu:list1){//变量集合
			System.out.println(stu);
		}
		


你可能感兴趣的:(JAVA)