json字符串和xml的 比较

Posted 谷永辉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json字符串和xml的 比较相关的知识,希望对你有一定的参考价值。

 

json是ajax前戏,在前后端传输数据都要用到json

json是一种轻量级的数据交换格式,

javascript Objects Notation ,js对象标记),与JavaScript有关,

独立于编程语言的文本格式来存储和表示数据,

json.dumps()序列化得到字符串,放到磁盘里,

python支持的数据类型, int,str,list,tuple,dict,set

在python中单引号,与双引号没有区别

在json中数据格式,都是双引号,

info = {\'name\':\'gu \',\'age\':10}

print(type(info))#<class \'dict\'>

import json
ret=json.dumps(info)
print(type(ret))#<class \'str\'>
print(ret)#{"name": "gu ", "age": 10}

把序列化的数据写到文件里,json.dumps() 得到的都是字符串,

#把序列化的数据写到文件里,文件名就是info.txt
f=open(\'info.txt\',\'w\')

data=f.write(ret)#把序列化的ret文件存到文件里
f.close()

在磁盘中就有info.txt

从磁盘的文件中读取json格式的数据,

#从磁盘中读取json格式的文件
f=open(\'info.txt\')#读取文件,
data=f.read()#得到数据json格式的数据
dict = json.loads(data)#从json格式的数据反序列化得到python格式的数据,前提,是要反序列的数据必须是json格式,双引号才行,
print(dict[\'name\'])#gu

----

json对象和json字符串。

json对象就是JavaScript对象的一个子集,

js的数据类型有,null,number ,str,undefind,array(数组),data,bool, { “”:“”}

json 里有null(空),number,string,bool,array,{ “”:“”}

再json中只认 双引号的字符串 ,

 总结: json字符串就是js对象加上双引号,

为什么要单列出json数据类型,在web应用, 前后端数据交换,后端是python语言,前端是js数据,就涉及到数据交换,或者,python语言与java语言交流,都要用json数据格式来交换,都用json字符串,

------

stringify 与parse方法

json.parse(“json字符串”),把一个json字符串反序列为javascript对象,在前端里用,

在前端html 文件中,console.log(JSON.parse(\'{"name":"egon"}\')); 得到一个object,name:egon

 

json.stringify(js对象),把JavaScript值序列化为json字符串,在后端使用

console.log(json.stringify([11,22,33])) 得到一个string类型,

console.log(JSON.stringify({\'name\':"egon"}))); 把不符合条件的先转化为符合条件的json格式

console.log(JSON.stringify(typeof{"name":"egon"}));

 

----

xml  数据格式

在2001年以前数据交换是用xml的,

xml和json都使用结构化方法来标记数据,

在xml有节点,节点套节点,还可以收起来, ,类似于HTML的结构存数据

json类似于 用字典的格式存数据,

json没有xml结构清晰,

在数据交换,json的代码量更小,xml在数据量大的时候代码量非常大,

在线格式代码的工具,bejson,sojson ,可以把乱了的json数据格式格式化整齐的代码,层级结构就清晰了,

www.bejson.com

json数据格式,代码量少,易读,

在ajax就要用到json,

ajax  异步JavaScript和xml,(Asynchronous javas and xml)

 

以上是关于json字符串和xml的 比较的主要内容,如果未能解决你的问题,请参考以下文章

XML与JSON两种数据结构比较和各自底层实现

如何从片段中的 JSON 响应中的对象获取数据

Java如何快速构造JSON字符串

始终在 WCF 服务中返回带有 Json 的 XML 字符串

将 JSON 字符串从片段传递到适配器的问题

VS Code配置markdown代码片段