解析JSON目标C

问题描述:

我发起一个URL连接,我的脚本返回以下JSON:解析JSON目标C

( 1, { “ID”= < -ID这里 - >; 散列= < -Hash这里 - >; }, ( ) ( ))

所有的例子我看到这样在相应的数组/词典之前似乎有“ID”或标识符。尽管四处寻找,我找不到解决这个问题的方法。 (即我需要获取第一个布尔值,id,哈希,然后是数组(现在为空))。

对不起,如果我失去了一些东西 - 我是新来解析Obj-C中的JSON。感谢您的帮助。

我使用的功能是与Cocoa库一起构建的:NSJSONSerialization类。 它提供了将JSON解析为图并将图编码为JSON的方法。规则类似于plists(即基本类型加上数组和字典)。

如果你有NSData的(你可以很容易地从一个字符串获得),你这样做:

NSArray *yourJSONAsObjectGraph = [NSJSONSerialization JSONObjectWithData:yourNSData options:nil error:&err]; 

然后,你上面的数据,objectAtIndex:0是一个NSNumber,您可以调用boolValue on,objectAtIndex:1将是一个NSDictionary,你可以调用objectForKey:@"id"(和@“hash”)等

+0

谢谢,这很有用。我现在就试试看,并让你知道。 – Kgrover

+0

唯一需要注意的是,您需要知道(或检测)*别的对象类型。通常你知道,因为你正在与你自己的API交谈,但你也可以检测。它将永远是NSArray或NSDictionary(除非有错误)。 –

+0

这工作完美。谢谢你的快速反应。 – Kgrover

请参阅How to use JSON in Objective-C。如果你还没有听说过,请看SBJSON

+0

我认为现在iOS开发中有一个本地JSON解析器。我错了吗? – Kgrover

+0

“native”是什么意思? SBJSON是原生的。它是纯粹的Objective-C。它不是由苹果公司制造的。 – DrummerB

+0

查看@ctrahey的答案......看起来,我不需要使用默认库中未包含的任何内容。 – Kgrover