我在使用 AFNetworking 从 API 获取 JSON 信息时遇到问题,格式如下:
{
"result": [
[
{
"user": "test user",
"password": "test password",
"company": "test company"
}
]
]
}
注意 {[[{}]]}(双方括号)。但只有一个值“结果”。
我得到错误:
ApiTest[83166:c07] -[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x7136a30
ApiTest[83166:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x7136a30'
*** First throw call stack:
(0x1da6012 0x123de7e 0x1e314bd 0x1d95bbc 0x1d9594e 0x3d60 0x3122 0x16909 0x179953f 0x17ab014 0x179b7d5 0x1d4caf5 0x1d4bf44 0x1d4be1b 0x21397e3 0x2139668 0x18565c 0x2a9d 0x29c5)
libc++abi.dylib: terminate called throwing an exception
当我在本地设置文件并仅使用一组方括号“{[{}]}”时,我的 AFNetworking/JSON 项目代码可以很好地处理 JSON 数据。
{
"results": [
{
"user": "test user",
"password": "test password",
"company": "test company"
}
]
}
因此,如果没有方括号集,我可以使用以下方法成功获得“结果”:
self.results = [jsonObject objectForKey:@"result"];
如果我的项目是 javascript 我会使用类似的东西:
var userId = data.result[0][0].user;
有谁知道如何使用目标 C 正确选择我的阵列?我花了几天的时间进行调查,但我被困住了。
提前致谢。