我已经了解到在iOS5上有一个用于JSON解析的本机解决方案,能够使用它而不是大多数人使用的外部JSON框架是很棒的。
关于如何在iOS上本地使用JSON的文章在这里: http://www.raywenderlich.com/5492/working-with-json-in-ios-5
现在我的问题:到目前为止,处理易于格式化的JSON似乎很容易,但是我无法理解如何访问更复杂的数据方案。
例如,如果我有一个包含3个字典的JSON对象,并且每个字段都包含不同的数组和字典作为条目,我不清楚如何访问这些数据。
在Java中,您可以使用点符号来访问子数据,例如obj1.dictionary1 [3] .varname,它将访问第一个对象,转到dictionary1的第3位并获取varname的键值。 ..如何仅使用iOS JSON功能获得相同的结果?
遗憾的是,iOS的原生JSON框架似乎没有遵循Java中JSON对象的使用逻辑,因此我对如何实现目标几乎一无所知。
我应该删除原生JSON并使用在线提供的JSON框架吗?
提前感谢您的意见。
答案 0 :(得分:1)
没有。你不能使用“点符号”。
您必须使用NSArray
及其objectAtIndex
以及NSDictionary
及其objectForKey
。
参见,例如IOS JSON get all values from a "JSON Dict"。
在大多数情况下,第三方库将具有类似的API(即将返回嵌套的字典和数组)。没有看到任何库提供类似对象的“点符号”。
答案 1 :(得分:1)
在遍历objective-c数据结构时,这实际上是一个关于语法的问题,而不是JSON。查看有关访问NSDictionary和NSArray
的文档