[英]Parsing JSON Single Value Array becomes string
我的iOS应用程序中有一个本地.json文件。 看起来像这样:
{
"books": [
{
"title": "Book 1",
"category": ["z","y","w"]
},
{
"title": "Book 2",
"category": ["x"]
}
]
}
我这样解析:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"books" ofType:@"json"];
NSError *error = nil;
NSData *JSONData = [NSData dataWithContentsOfFile:filePath options:NSDataReadingMappedIfSafe error:&errore];
NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableContainers error:&error];
当我打印字典时,如果'category'数组仅包含一个条目,则它看起来像一个字符串 :
{
books = (
{
title = "Book 1";
category = (z,y,w)
},
{
title = "Book 2";
category = x
}
)
}
由于我需要遍历所有这些对象,因此如何仅保留所有类别项目的数组结构? 即使只有一个条目的人?
谢谢
编辑 :我在不同的Mac不同xcode5上测试,并且正在工作! 我想知道是否与某种设置有关?
当我运行这段代码并查看jsonDic
,我得到的正是人们所期望的:
(lldb) po jsonDic
{
books = (
{
category = (
z,
y,
w
);
title = "Book 1";
},
{
category = (
x
);
title = "Book 2";
}
);
}
当你打印一个数组像
NSArray *arr = @[@"A",@"B"];
NSLog(@"%@",arr);
输出将像
2013-11-27 14:49:52.497 TestApp[1629:70b] (
A,
B
)
因此,通过字典时,NSLog给出的输出是绝对正确的。 因此,您的category
键的数组不是字符串(尽管看起来像字符串)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.