-
- JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。(xml是重量级)
JSON易于人阅读和编写,同时也易于机器解析和生成。
JSON完全独立于语言之外,但语法上借鉴了JavaScript。
官网:JSON
语法 | 示例 |
名值对:表示一个对象:{属性名:属性值, 属性名:属性值, ...} 值的有序列表:表示对象组成的数组:[属性值, 属性值,...] 注: 花括号保存对象,方括号保存数组。 属性值可以是string、number、boolean、null、object、数组。 属性名必须使用双引号括起来。 属性值如果是string,必须使用双引号括起来。 | var zhangSan = {"name":"张三"} var arrayList = [zhangSan,"李四",{"name","王五"}] var myschool = {"name":"百年学府", "age":"100", "info":{"belong":"university","postCode":"350100"}, "schools":[{"location":"仓山"},{"location":"闽侯"}] }; alert(myschool.schools[0].location); |
-
- JSON实现数据交换
数据交换原理:
JavaScript对象 ←——→ JSON字符串 ←——→ JSON字符串 ←——→ Java对象
将Java对象转换成JSON字符串
1)导包
commons-beanutils.jar
commons-collections.jar
common-lang.jar
common-logging.jar
ezmorph.jar
jsom-lib.jar
Employee emp = new Employee("1","张三","男"); JSONObject obj = JSONObject.fromObject(emp); String jsonStr = obj.toString(); |
使用json-lib(JSONObject,JSONArray)
将JSON字符串转换成JavaScript对象
方法一
使用JavaScript语言的原生函数eval()(该方法有风险,使用需谨慎)
var str = '{"name":"张三","age":24}'; var obj = eval("(" + str + ")"); alert(obj.name); |
方法二
使用JavaScript原生对象JSON提供的parse()方法(如果该对象无效,说明浏览器版本太低)
var str = '{"name":"李四","age":24}'; var obj = JSON.parse(str); alert(obj.name); |