iOS 解析 JSON 和 AFNetworking
<p><p>我正在使用这样的 AFNetworking 工具使用 Web 服务:</p>
<pre><code>NSURLRequest *request = ;
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
;
} failure: nil ];
;
</code></pre>
<p>Web 服务响应并给我以下 json:</p>
<pre><code>[
{
"statusid": 1,
"statusdesc": "ASSIGNED"
},
{
"statusid": 2,
"statusdesc": "COMPLETED"
},
{
"statusid": 3,
"statusdesc": "IN TRANSIT"
},
{
"statusid": 4,
"statusdesc": "DELAYED"
},
{
"statusid": 5,
"statusdesc": "ON HOLD"
}
]
</code></pre>
<p>我正在使用以下内容尝试解析 json:</p>
<pre><code>- (void)GotJSONSuccess: (NSString*) JSON : (NSHTTPURLResponse*) response
{
NSString *newString = ;
NSLog(@"response: %@", JSON);
NSData* data = ;
NSError* error;
id jsonObjects = ;
if (error){
NSLog(@"error is %@", );
return;
}
NSArray *keys = ;
for (NSString *key in keys){
NSLog(@"%@ is %@",key, );
}
}
</code></pre>
<p>但是代码落入错误 block 并且输出是
“操作无法完成。(Cocoa 错误 3840。)”</p>
<p>我在解析这个简单的 json 时做错了什么?</p>
<p>有没有比我现在采用的更好的解析方法?</p>
<p>如果可能,我想坚持使用原生 iOS 类和方法进行解析。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您可以使用 NSJSONSerialization 类来创建这样的数组</p>
<pre><code>NSArray *arr = ;
</code></pre>
<p>然后对于您的每个状态 ID,您只需将索引编入数组并拉出字典:</p>
<pre><code>NSDictionary *dict = ;
</code></pre>
<p>最后一行会退出:`</p>
<pre><code>{
"statusid": 1,
"statusdesc": "ASSIGNED"
}
</code></pre>
<p>然后您可以使用对象等方法作为字典的键。`</p></p>
<p style="font-size: 20px;">关于iOS 解析 JSON 和 AFNetworking,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/14267880/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/14267880/
</a>
</p>
页:
[1]