浅谈java转成json编码格式技术
2015-08-12 13:57:59人点击
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交互)
json的表达式相当于JavaScript的原始类的声明方式相似
var obj={ name:"javascript", age:20};将java转成json的编码表达式;
1, 创建json的基本对象
String str="{}";//将java转化为json必须要先创建需要转换的数据 JSONObject jsonobj =new JSONObject.fromObject(str);//将java数据装换为json的编码方式2,使用for循环几个数字放入创建的json对象中
for(int i=0;i<5;i++){ jsonobj.put("json"+i,i);//将java数据放到json对象中去 // jsonobj.put("json"+i, i);和put的执行结果一样 // jsonobj.accumulate("json"+i, i);和put的执行结果一样 System.out.println(jsonobj.toString());//打印json的数据 }结果:
{"id0":0}
{"id0":0,"id1":1}
{"id0":0,"id1":1,"id2":2}
{"id0":0,"id1":1,"id2":2,"id3":3}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4}
3,使用put向json中放一个JSONObject对象
// 创建json的基本对象 String date = "{}"; JSONObject jsonobj = JSONObject.fromObject(date); // 使用int将数值放到json for (int j = 0; j < 5; j++) { // jsonobj.put("id"+j, j); // jsonobj.accumulate("id"+j, j); jsonobj.element("id" + j, j); //System.out.println(jsonobj.toString()); } // put 一个JSONObject对象 JSONObject obj1 = JSONObject.fromObject(date); for (int n = 0; n < 5; n++) { obj1.put("date"+n, n);//对象中放入5个数据 jsonobj.put("jsonobj", obj1);//将创建的obj1放入jsonobj对象中 System.out.println(jsonobj.toString()); }结果:
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0,"date1":1}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0,"date1":1,"date2":2}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0,"date1":1,"date2":2,"date3":3}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0,"date1":1,"date2":2,"date3":3,"date4":4}}
4,将数组添加到json中
// 创建json的基本对象 String date = "{}"; JSONObject jsonobj = JSONObject.fromObject(date); //,将数组转化为JSONonject String[] str={"json","ajax","Jquery","javascript"};//创建要转化的数组的值 jsonobj.put("arr", str);//放到json对象中 System.out.println(jsonobj.toString());结果:
{"arr":["json","ajax","Jquery","javascript"]}
5,将list放到json中
String date = "{}";JSONObject jsonobj = JSONObject.fromObject(date);ArrayList<String> list = new ArrayList<String>(); list.add("json"); list.add("java"); list.add("android"); jsonobj.put("jsonobj", list); System.out.println(jsonobj.toString());结果:{"jsonobj":["json","java","android"]}
6,将map放到json中
String date = "{}"; JSONObject jsonobj = JSONObject.fromObject(date);//创建转化的对象 Map<String,Object> map = new HashMap<String, Object>();//创建map队列 map.put("map1", "json"); map.put("map2", "java"); map.put("map3", "android"); jsonobj.put("map", map); //放到json中 System.out.println(jsonobj.toString());结果:
{"map":{"map3":"android","map2":"java","map1":"json"}}
7,使用 putAll 将json放到队列中
String date = "{}"; JSONObject jsonobj = JSONObject.fromObject(date);//创建转化的对象 Map<String,Object> map = new HashMap<String, Object>(); map.put("map1", "json"); map.put("map2", "android"); map.put("map3", "Jquery"); jsonobj.putAll(map); System.out.println(jsonobj.toString());结果:
{"map3":"Jquery","map2":"android","map1":"json"}
8,区分put和putAll的区别:
put;会有一个对象 {"map":{"map3":"android","map2":"java","map1":"json"}}
putAll没有 {"map3":"Jquery","map2":"android","map1":"json"}