Objective-C字符串用括号括起来?

时间:2014-08-13 18:08:32

标签: objective-c json

我在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];

1 个答案:

答案 0 :(得分:1)

您为什么使用valueForKeyPath:?如果你使用

_artistName = attributes[@"output"][@"contributor"][@"/music/recording/artist"][0][@"name"];

它应该正确出来。

修改:对于未来的观看者,这样的一个关闭行将起作用。但是,对于更易维护和可调试的应用程序,我建议拆分行以每行只提取一个对象。这样,如果出现问题,调试器将是一个更大的帮助。

对于那些处理更多JSON而不是一次性JSON的应用程序,我建议创建模型对象并将JSON拉入其中。 github上有一些库也可以帮助你使用模型对象。