【发布时间】:2013-05-26 20:49:37
【问题描述】:
目前,我的 iPhone 应用程序中有一个 URL,其中包含我必须解析的 JSON 对象。
我能够获取 JSON 对象,将对象转换为 NSString,现在问题是解析对象/NSString 对象。
我目前正在使用 SBJSON。
如何使用 SBJSON 的框架遍历 JSON 对象的关键元素?
{
"status":"SUCCESS",
"fields":[
{
"type":"instant",
"field":"GenerationPower",
"label":"now",
JSON 对象比这些键和关键元素要大得多,但是一旦解决了这个问题,我相信 JSON 对象的其余部分会很容易,因为我会有参考。
谢谢 Stackoverflow!
编辑: 这里有一些代码可以澄清我的问题。
+ (NSString *) pullingInfo
{
NSURL *solarWebURL = [NSURL URLWithString:myurl];
if (solarWebURL)
{
NSLog(@"Calling: %@", solarWebURL);
NSData *jsonData = [NSData dataWithContentsOfURL:solarWebURL];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
return jsonString;
}
NSString* errorMessage = @"Error reading URL";
return errorMessage;
}
+ (NSDictionary *) jsonDictionaryObject
{
NSDictionary * jsonDictionary = [[NSDictionary alloc] init];
NSString * monroeString = [MonroeParser pullingInfo];
return jsonDictionary;
}
正如我之前所说,我已经将 JSON 对象加载到一个 NSString 对象“jsonString”中。现在我要开始解析字符串了。
我认为我什至可能不需要使用 JSON 的框架进行解析,我可能只需使用 Apple 提供的 NSString 约定来解析 NSString。
有什么想法吗?但这可能效率不高....
【问题讨论】:
-
for (NSString *key in parsedDictionary) { } -
如果您还没有这样做,请务必访问 json.org 并花 5-10 分钟学习 JSON 语法——仅此而已,然后您将了解如何“分解”复杂的 JSON 对象(在它们被合适的解析器解析成 Cocoa 对象之后)。
标签: ios json web-services parsing sbjson