我有一个NSString
即存储一个JSON
数组形式为NSString
. The NSString
called colorArray
具有以下价值:
[{ "color":"Red" },{ "color":"Blue" },{ "color":"Yellow"}];
我还有一个表视图,我想将数组导入其中以填充表。如果我加载该表即可工作tableData
到如下所示的数组中,但我不知道如何转换NSString
到一个可用于填充的数组中tableData
如下图所示...
有人有想法吗?非常感谢!
- (void)viewDidLoad
{
[super viewDidLoad];
// Initialize table data
tableData = [NSArray arrayWithObjects:@"Red", @"Blue", @"Yellow", nil];
}
// Your JSON data:
NSString *colorArray = @"[{ \"color\":\"Red\" },{ \"color\":\"Blue\" },{ \"color\":\"Yellow\"}]";
NSLog(@"colorArray=%@", colorArray);
// Convert to JSON object:
NSArray *jsonObject = [NSJSONSerialization JSONObjectWithData:[colorArray dataUsingEncoding:NSUTF8StringEncoding]
options:0 error:NULL];
NSLog(@"jsonObject=%@", jsonObject);
// Extract "color" values:
NSArray *tableData = [jsonObject valueForKey:@"color"];
NSLog(@"tableData=%@", tableData);
Output:
colorArray=[{ "color":"Red" },{ "color":"Blue" },{ "color":"Yellow"}]
jsonObject=(
{
color = Red;
},
{
color = Blue;
},
{
color = Yellow;
}
)
tableData=(
Red,
Blue,
Yellow
)
最后一步使用了以下特殊功能-[NSArray valueForKey:]
返回一个包含调用结果的数组valueForKey:
使用每个数组对象上的键。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)