您的位置:首页 > 编程语言 > Java开发

Java知识整理(二十三)之json

2015-09-19 10:33 288 查看
JSON:轻量级的数据交换格式,相对于XML,JSON解析速度更快,文档更小

结构:

1.名值对:{"name":"Sally","city":"北京","age":25}

属性值可以是string,number,boolean(true,false),null,object.属性名必须使用双引号,属性值如果是字符串要用双引号

2.值的有序列表(数组,集合):[value,value,value...] (可以互相套用)

使用JSON实现数据交换:java对象-->JSON字符串(web服务器)-->JSON字符串(客户端)-->JavaScript对象

JSON对象-->JavaScript对象:

1.var str = '{"name":"张三","age",18}'; var obj = eval("("+str+")");

2.使用原生对象JSON提供的parse()方法:var obj = JSON.parse(str);

3.var obj = str.parseJSON();(需要用到JSON.js文件)

JS中JSON对象(obj)-->String字符串:var str = obj.toJSONString();(需json.js);
var str = JSON.stringify(obj);

java对象-->JSON对象(通过拼接JSON字符串重构对象属性)

JSONObject obj = JSONObject.fromObject(emp);
String jsonStr = obj.toString(); java对象-->JSON对象

JSONArray jsonArr = JSONObject.formObject(arr);
String jsonStr = jsonArr.toString(); java数组(集合)-->JSON对象

JSON对象-->Java对象

Emp emp = (Emp)JSONObject.toBean(obj,Emp.class);
List<Emp> list = (List<Emp>)JSONArray.toCollection(jsonArr,Emp.class);

缓存问题:IE浏览器在发送GET请求时,如果访问过该地址不再发送请求(Chrome,Firefox继续发请求);解决(请求后加随机数):xxx.do?Math.random();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json