我在console.log上得到这个;
2014-08-13 11:55:11.877 Wevo[14264:1830541] artist name: (
"Vance Joy"
)
如何解开它只是字符串?
问题来了,因为我正在解析看起来像这样的json:
output = {
contributor = {
"/music/recording/artist" = [
{
mid = "/m/026hdj4";
name = "Marie-Mai";
}
];
};
};
注意mid如何包裹在数组中? 所以它在某处转换为对象文字
我使用以下方式设置值:
_artistName = [[attributes[@"output"][@"contributor"][@"/music/recording/artist"] valueForKeyPath:@"name"] copy];
答案 0 :(得分:1)
您为什么使用valueForKeyPath:
?如果你使用
_artistName = attributes[@"output"][@"contributor"][@"/music/recording/artist"][0][@"name"];
它应该正确出来。
修改:对于未来的观看者,这样的一个关闭行将起作用。但是,对于更易维护和可调试的应用程序,我建议拆分行以每行只提取一个对象。这样,如果出现问题,调试器将是一个更大的帮助。
对于那些处理更多JSON而不是一次性JSON的应用程序,我建议创建模型对象并将JSON拉入其中。 github上有一些库也可以帮助你使用模型对象。