菜鸟教程小白 发表于 2022-12-13 00:24:53

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>[
{
    &#34;statusid&#34;: 1,
    &#34;statusdesc&#34;: &#34;ASSIGNED&#34;
},
{
    &#34;statusid&#34;: 2,
    &#34;statusdesc&#34;: &#34;COMPLETED&#34;
},
{
    &#34;statusid&#34;: 3,
    &#34;statusdesc&#34;: &#34;IN TRANSIT&#34;
},
{
    &#34;statusid&#34;: 4,
    &#34;statusdesc&#34;: &#34;DELAYED&#34;
},
{
    &#34;statusid&#34;: 5,
    &#34;statusdesc&#34;: &#34;ON HOLD&#34;
}
]
</code></pre>

<p>我正在使用以下内容尝试解析 json:</p>

<pre><code>- (void)GotJSONSuccess: (NSString*) JSON : (NSHTTPURLResponse*) response
{

NSString *newString = ;

NSLog(@&#34;response: %@&#34;, JSON);
NSData* data = ;
NSError* error;
id jsonObjects = ;

if (error){
    NSLog(@&#34;error is %@&#34;, );
    return;
}

NSArray *keys = ;

for (NSString *key in keys){
    NSLog(@&#34;%@ is %@&#34;,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>{
    &#34;statusid&#34;: 1,
    &#34;statusdesc&#34;: &#34;ASSIGNED&#34;
}
</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]
查看完整版本: iOS 解析 JSON 和 AFNetworking