1、xml示例
<?xml version="1.0" encoding="UTF-8"?>
<class id="1" value='ssss' p="开始标签里是能写一些属性的。这些属性也可以被程序解析">
<name>三年一班</name>
<teacher>xxxx</teacher>
<PersonList>
<Person>
<name>张三</name>
<age>12</age>
<desc>
xml只能有一个根标签
xml是一种记录数据的格式,使用这种结构化的开闭标签。标签可以自己定义。
这是一个person的数据信息结构。如果是一堆person呢。一个集合
</desc>
</Person>
<Person>
<name>张三</name>
<age>12</age>
<desc>
xml只能有一个根标签
xml是一种记录数据的格式,使用这种结构化的开闭标签。标签可以自己定义。
这就是一个集合了。两个人
</desc>
</Person>
</PersonList>
<desc>就是这种层级嵌套的格式。</desc>
</class>
2、xml确实挺好,但是有些问题。 xml数据要记录在开闭标签里,写着比较麻烦,而且用于网络传输的话,刚才写的那个班级的结构数据,其实有用的信息本身没占多少字节,相 当一部分的字节都被标签占去了,比较浪费流量了。这种情况,面对要传输的数据本身不太复杂的情况下,就可以使用json格式
用json重写刚才的班级信息就是:
{
name:三年一班,
teacher: xxxx,
personList:[
{name:"张三", age: 21},
{name:"李四",age:21}
]
}
注:
{} : 代表一个对象。对象名不记录,xml是记录的,就是标签名。到底是什么对象,人为约定好。
[] : 代表一个数组,集合。 比如 [1,2,3,"aa", "bb", {name:"haha"}, {age:12}, 32] 集合里既可以有字符串,有对象,有数字。不约束,
还是凭人为提前规定好。
3、调用成功后的数据如下:
{
"header":{
"desc":"success",
"failures":[],
"oprs":1,
"succ":1,
"oprtime":0,
"quota":3,
"rquota":34806,
"status":0
},
"body":{
"accountInfoType":{
"budget":88.0,
"isDynamicCreative":null,
"regionTarget":[31000],
"isDynamicTitle":null,
"budgetOfflineTime":[],
"payment":286718.32,
"isDynamicTagSublink":null,
"openDomains":["xx.com.cn","xx.cn","globeedu.com"],
"weeklyBudget":[],
"excludeIp":null,
"userid":2201325,
"regDomain":"globeedu.com",
"type":null,
"userStat":null,
"isDynamicHotRedirect":null,
"cost":332950.96,
"balance":0.0,
"budgetType":1,
"dynamicCreativeParam":null,
"opt":null
}
}
}
{
"header":{
"desc":"system failure",
"failures":[
{
"code":81022,
"message":"The username is invalid, please contact administrator. sn:4442491881600",
"position":"_user"
}
],
"status":3
}
}
怎么区别成功不成功呢
![疑问](http://static.blog.csdn.net/xheditor/xheditor_emot/default/doubt.gif)
返回信息都有 header -> desc 这个信息。 返回之后 第一步先看这个结果是不是success, 是的话继续按成功的数据结构解析,
具体是什么数据结构 就去看调用接口返回的结构说明。不成功的 就直接不解析了,到时候可以提示。