1.什么是json?什么是xml?
1.1json是:
JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.
1.1xml是:
扩展标记语言 (Extensible Markup Language, XML)是一种标记语言,很类似HTML结构被设计为具有自我描述性的语言;
2.json和xml的优缺点?
2.1xml和json的相同之处
xml和json都是具有数据描述特性的语言
2.2json的优点和缺点
特点:
json是纯文本,具有自我描述性(可读性强),具有层级结构(健值对),可通过javascript进行解析,数据可以使用ajax进行传输
优点:
更小(json轻量级文件数据交互),更快,易于解析,支持多种语言
2.2xml的优点和缺点
优点:
格式统一,符合标准;容易与其他系统进行远程交互,数据共享比较方便。
缺点:
XML文件庞大,文件格式复杂,传输占带宽;服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;服务器端和客户端解析XML花费较多的资源和时间。
3.json的格式?xml的格式?
3.1json格式:
['one', 'two', 'three']//数组
{ 'one': 1, 'two': 2, 'three': 3 }//对象,键值对
{'names': ['张三', '李四'] }//对象,键值对
[ { 'name': '张三'}, {'name': '李四'} ]//数组对象
3.2不合法的json
{ name: '张三', 'age': 32 } // 属性名必须使用双引号
[32, 64, 128, 0xFFF] // 不能使用十六进制值
{ 'name': '张三', 'age': undefined } // 不能使用undefined
{ 'name': '张三',
'birthday': new Date('Fri, 26 Aug 2011 07:13:10 GMT'),
'getName': function() {
return this.name;
}
} // 不能使用函数和日期对象
3.1xml写法:
<?xml version='1.0' encoding='utf-8' ?>
<country>
<name>中国</name>
<province>
<name>黑龙江</name>
<citys>
<city>哈尔滨</city>
<city>大庆</city>
</citys>
</province>
<province>
<name>广东</name>
<citys>
<city>广州</city>
<city>深圳</city>
<city>珠海</city>
</citys>
</province>
<province>
<name>台湾</name>
<citys>
<city>台北</city>
<city>高雄</city>
</citys>
</province>
<province>
<name>新疆</name>
<citys>
<city>乌鲁木齐</city>
</citys>
</province>
</country>
4.json的常用方法?xml的常用方法?
4.1json
1.JSON.stringify() 将一个值转为字符串,该字符串是属于json格式的
2.JSON.parse() 将JSON字符串转化成对象
3.eval()将字符串转json 对象,存在安全问题
5.jquery中json方法
5.1字符串转json
var jsonObject= jQuery.parseJSON(jsonstr);
参考文章:http://www.cnblogs.com/SanMaoSpace/p/3139186.html
参考博文:http://www.ruanyifeng.com/blog/2009/05/data_types_and_json.html
参考博文:http://javascript.ruanyifeng.com/stdlib/json.html
递归博文:http://blog.youkuaiyun.com/xujie3/article/details/52954940
转换博文:http://blog.youkuaiyun.com/liuweiyuxiang/article/details/49913197
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
在线XML/JSON互相转换:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json