如何将NSString的JSON对象转换为NSArray?

时间:2016-01-30 20:04:50

标签: objective-c nsstring nsarray nsjsonserialization

我无法将NSString个JSON对象转换为NSArray

NSArray对象似乎为空。

这是我的NSString JSON代码:

NSString* retrievedStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

这给了我打印输出:

  

{"链接":" schedule_tien_nguyen.jpg"" START_TIME":" 18:00"" END_TIME&# 34;:" 19:00"" viet_performer":""" english_performer":"天   阮"" viet_event":""" english_event":"歌唱""天&#34 ;: 0,"&阶段#34;:0}

     

...

我尝试使用以下内容将NSString转换为NSArray

NSArray *jsonObject = [NSJSONSerialization JSONObjectWithData:
                     [retrievedStr dataUsingEncoding:NSUTF8StringEncoding]
                      options:0 error:&error];

然而,jsonObject的打印输出是(null)

我从这里尝试了解决方案: Converting an NSString of JSON Data to NSArrayHow to convert a JSON String into an NSArray?,但它仍然打印出来。

error打印输出状态:

  

"垃圾在最后。"

我不确定这意味着什么?

2 个答案:

答案 0 :(得分:0)

尝试以下方法阅读您的JSON响应。正如其他人所提到的,它是JSON字典,而不是NSArray。字典可能包含数组,但对象响应本身就是字典。

NSString* retrievedStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSString *imageLink = (NSString *)[retrievedStr objectForKey:@"image_link"]
NSLog(@"%@", imageLink);

答案 1 :(得分:0)

使用NSArray *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];