使用JSON

来源:互联网 发布:c 网络爬虫 编辑:程序博客网 时间:2024/05/20 13:06

JSON  JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。


Java代码转换成json代码

1.List集合转换成json代码

List list = new ArrayList();

list.add( "first" );

list.add( "second" );

JSONArray jsonArray2 = JSONArray.fromObject( list );

2.Map集合转换成json代码

Map map = new HashMap();

map.put("name""json");

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

map.put("int"new Integer(1));

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

map.put("func""function(i){ return this.arr[i]; }");

JSONObject json = JSONObject.fromObject(map);

3.Bean转换成json代码

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());

4.数组转换成json代码

boolean[] boolArray = newboolean[] { truefalsetrue };

JSONArray jsonArray1 = JSONArray.fromObject(boolArray);

5. 一般数据转换成json代码

JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

6.beans转换成json代码

List list = new ArrayList();

JsonBean2 jb1 = new JsonBean2();

jb1.setCol(1);

jb1.setRow(1);

jb1.setValue("xx");

JsonBean2 jb2 = new JsonBean2();

jb2.setCol(2);

jb2.setRow(2);

jb2.setValue("");

list.add(jb1);

list.add(jb2);

JSONArray ja = JSONArray.fromObject(list);



转换方式代码总结:

                //List集合转换成json代码

List list = new ArrayList();

list.add( "first" );

list.add( "second" );

JSONArray jsonArray2 = JSONArray.fromObject( list );

System.out.println("List集合转换成json代码");

System.out.println(jsonArray2.toString());

//Map集合转换成json代码

Map map = new HashMap();

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

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

map.put("int", new Integer(1));

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

map.put("func", "function(i){ return this.arr[i]; }");

JSONObject json = JSONObject.fromObject(map);

System.out.println("Map集合转换成json代码");

System.out.println(json.toString());

//Bean转换成json代码

JSONObject jsonObject = JSONObject.fromObject(new JsonBean2());

System.out.println("Bean转换成json代码");

System.out.println(jsonObject.toString());

//数组转换成json代码

boolean[] boolArray = new boolean[] { true, false, true };

JSONArray jsonArray1 = JSONArray.fromObject(boolArray);

System.out.println("数组转换成json代码");

System.out.println(jsonArray1.toString());

//一般数据转换成json代码

JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

System.out.println("一般数据转换成json代码");

System.out.println(jsonArray3.toString());

//beans转换成json代码

list = new ArrayList();

JsonBean2 jb1 = new JsonBean2();

jb1.setCol(1);

jb1.setRow(1);

jb1.setValue("xx");


JsonBean2 jb2 = new JsonBean2();

jb2.setCol(2);

jb2.setRow(2);

jb2.setValue("");

list.add(jb1);

list.add(jb2);


JSONArray ja = JSONArray.fromObject(list);

System.out.println("beans转换成json代码");

System.out.println(ja.toString());               


代码输出结果说明:

List集合转换成json代码

["first","second"]

Map集合转换成json代码

{"arr":["a","b"],"int":1,"name":"json","func":function(i){ return this.arr[i]; },"bool":true}

Bean转换成json代码

{"col":0,"row":0,"value":""}

数组转换成json代码

[true,false,true]

一般数据转换成json代码

["json","is","easy"]

beans转换成json代码

[{"col":1,"row":1,"value":"xx"},{"col":2,"row":2,"value":""}]


下面是一些常用的方法:

Map<String,String> map1 = new HashMap<String,String>();
map1.put("username","liuwei");
map1.put("psw", "123");
//Map转换为json对象
//方法一:转换为带有key值的json对象
JSONObject json0 = new JSONObject();
json0.put("mapJson=", map1);

System.out.println("json0="+json0);
//方法二:转化为不带有key值的json对象
JSONObject json1 = JSONObject.fromObject(map1);

//Map对象转化为json数组
JSONArray mapArr = JSONArray.fromObject(map1);

ListMap转化为json对象

//方法一:转化为没有key值的json对象

List<Map<String,String>> listMap = new ArrayList<Map<String,String>>();

Map<String,String> map2 = new HashMap<String,String>();
map2.put("username", "zhangsan");
map2.put("psw", "46732");
listMap.add(map1);
listMap.add(map2);

JSONArray jsonArray = JSONArray.fromObject(listMap);

//f方法二:转化为带有key值的json对象

JSONObject json5 = new JSONObject();
json5.put("1", listMap);

json数组转化为带有key值的json对象

JSONObject jsonobj2 = new JSONObject();
jsonobj2.put("newuser", jsonArray);
jsonobj2.put("otheruser", jsonArray2);

json对象转换为json字符串

String jsonstr =  jsonobj2.toString();

json字符串转换为json对象

JSONObject jsonObj = JSONObject.fromObject(jsonstr);

获取json对象的key获取属性值,并可以转化为map

Map<String,String> map = new HashMap<String,String>();
map.put("username", jsonObjOne.getString("username"));
map.put("psw", jsonObjOne.getString("psw"));

json数组转化为ListMap

List<Map<String,String>> list4 = new ArrayList<Map<String,String>>();
for(int i = 0;i < jsonArr2.size();i++){
JSONObject jsonObjOne = jsonArr2.getJSONObject(i);
Map<String,String> map = new HashMap<String,String>();
map.put("username", jsonObjOne.getString("username"));
map.put("psw", jsonObjOne.getString("psw"));
list4.add(map);
}