json与xml的用处在一些地方十分相似,基本可以把这两种格式(我觉得还算不上一门语言)当成加强版的.txt或者是简化版的sql来看待,不同的是多了一些界定,可以很方便的将其中特定的对象快速提取出来,而不用真的像txt那样一行一行的fgets再处理,但是又没有数据库的sql语言那样的便利。
两种其实都很简单,先说json,原理和数据格式十几分钟就能搞定(只是常规应用,高大上的功能暂且不提),例如:
{"family":[
{"firstname":"wayne","lastname":"wang","age":25},
{"firstname":"chen","lastname":"N","age":24}
]}
其中,一对花括号中的内容称为对象:
{"firstname":"wayne","lastname":"wang","age":25}//字符串用""扩住,分号:代表了右侧数据是左侧变量的值
这是一个基本对象,对象中的内容用分号:区分名称与值,不同的内容用逗号隔开,对象与对象间也用逗号隔开。
[ ] 是数组的区分,每一个数组中可以有若干个对象,本例中family数组对应了wayne wang 和chen N。
调用:
family.firstname[0]; //代表了wayne
修改:
family.firstname[0] = ”NIN“; //将N改为NIN
成功写入、读出并修改了json数据,基本功能就都可以实现了,json是js的一个子集,当使用js时处理速度会很快。
成功写入、读出并修改了json数据,基本功能就都可以实现了,json是js的一个子集,当使用js时处理速度会很快。
接下来说说xml,xml比json稍显复杂,但是可读性与通用性更强。
1、xml没有默认标签,都是自己定义的,并且标签必须成对出现,关闭时要按照顺序来(例如:<root> <home> </home> </root>,先打开的后关闭,顺序不能乱)。
2、必须要有一个根元素对所有数据进行包含。
3、标签名区分大小写,Message与message不同。
<?xml version="1.0" encoding="UTF-8"?>
<bookstore><!--根元素-->
<book category="child"> <!--属性的实现方式-->
<title>harry</title> <!--元素的实现方式-->
<author>JK</author>
</book>
</bookstore>
<book category="child"> <!--属性的实现方式-->
<title>harry</title> <!--元素的实现方式-->
<author>JK</author>
</book>
</bookstore>
book是组名,本组包含了category,title,author这些内容。
其中,category="child"这部分是属性,属性类似json的名称:值,是对名称的补充,也可以用元素的实现方式<category>child</category>,最终效果是一致的,并且更易处理,所以推荐元素方式。
数据的调用和修改与json一致。