xml的格式如何,这里无须多言。简单介绍一下json的语法规则。 首先,推荐去http://www.json.org/查看json的语法规则。 简单的说一下,json遵循键值的法则存放数据,键必须为字符串,而值可以为字符串,数字,布尔型的值,对象和数组。 键和值中间用冒号分离,键值对之间用逗号隔开。 比如 { "name" : "小三", "age": 20 }表示一个对象。 或者 ["abc","def"]表示一个数组。 一般来说,一对{ }表示一个NSDictionary对象,一对[]表示一个NSArray数组。 以上的 { "name" : "小三", "age": 20 } 这个可以转换成一个NSDictionary对象,这个对象有2个键,一个是name,一个是age,我们可以用objectForKey取相应的值。 ["abc","def"] 这个可以转成一个NSArray数组,用objectForKey取值。 http://jsonlint.com/ 上面这个网站可以帮你检测你的json字符串构建是否符合语法规则,保证不会漏括号之类的。 举个例子。有个xml <?xml version="1.0" encoding="UTF-8"?> <result> <meeting addr="203"> <creator>张一</creator> <member> <name>张二</name> <age>20</age> </member> <member> <name>张三</name> <age>21</age> </member> <member> <name>张四</name> <age>22</age> </member> </meeting> <meeting addr="204"> <creator>李一</creator> <member> <name>李二</name> <age>20</age> </member> <member> <name>李三</name> <age>21</age> </member> <member> <name>李四</name> <age>22</age> </member> </meeting> </result> 转成对应的json为 { "result": [ { "meeting": { "addr": "203", "creator": "张一", "member": [ { "name":"张二", "age":"20" }, { "name":"张三", "age":"21" }, { "name":"张四", "age":"22" } ] } }, { "meeting": { "addr": "204", "creator": "张二", "age":"22" } ] } } ] } 下面说说ios对两种格式的解析把。 对以上xml解析,假设已有一个nsstring或者nsdata存放要解析的xml字符串。 一般来说先构建一个或者多个model模型,用来存放各种属性。 然后实现parser的三个委托方法,,在委托方法里创建model,再存放在本地的一个array里。 而对以上json解析,json的框架为nsstring增加了一个JSONValue方法,对一个存放要解析的json文本的字符串str,直接调用[str JSONValue]就能获得对应的NSDictionary对象,然后不停调用objectForKey的方法取得相应的值。相比xml,json确实比较方便,以后可以试试看。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|