如何将JSON字符串转换为NSArray?

时间:2013-07-24 06:51:04

标签: objective-c json nsstring nsarray

我在将NSString转换为NSArray时遇到问题。

我的字符串是:

["Default", "Discipleship", "Faith", "Family", "Hope", 
 "Life Building", "Love", "Missions", "Relationships"]

我想要做的是从这个字符串中获取元素(默认,门徒训练等)并将它们放入NSArray中。

我已经尝试了很多但是无法完成它,请帮忙 任何帮助都会很棒,提前谢谢

4 个答案:

答案 0 :(得分:20)

首先将字符串转换为NSData:

NSString* str = @"[\"Default\",\"Discipleship\",\"Faith\",\"Family\",\"Hope\",\"Life Building\",\"Love\",\"Missions\",\"Relationships\"]";
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];

然后,您使用:

NSError *e;
NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:nil error:&e];

对象数组包含JSON文本的元素。

答案 1 :(得分:0)

NSString *list = @"Default,Discipleship,Faith,Family,Hope,Life Building,Love,Missions,Relationships";

NSArray *listItems = [list componentsSeparatedByString:@", "];

修改:  请参考:
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html

进一步了解NSString。

答案 2 :(得分:0)

尝试这样,首先修剪不需要的字符,然后将字符串转换为数组。

NSString * strippedNumber = [yourString stringByReplacingOccurrencesOfString:@"[\"]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, [val length])];
NSArray *array = [strippedNumber componentsSeparatedByString:@","];

答案 3 :(得分:0)

试试这个,为此需要在你的班级中添加jsonkit并导入josnkit.h

NSString *responseString = [request responseString]
JKParseOptionFlags options = JKParseOptionComments | JKParseOptionUnicodeNewlines;
NSArray *responsArray=[responseString objectFromJSONStringWithParseOptions:options error:nil];