gpt4 book ai didi

ios - NSURLConnection 检索 JSON

转载 作者:行者123 更新时间:2023-11-29 02:44:49 25 4
gpt4 key购买 nike

我正在使用 PromiseKit,并且我想检索 JSON 文件。

[NSURLConnection GET:@"http://127.0.0.1/pack01.json"].then(^(NSDictionary *json) {
NSArray *questions = json[@"questions"];

本地主机上的一切都很好,但是当我从另一个源(同一文件)尝试它时,它给了我一个错误:

[NSURLConnection GET:@"https://dl.dropboxusercontent.com/u/11377305/resources/pack01.json"].then(^(NSDictionary *json) {
NSArray *questions = json[@"questions"];

错误

[__NSCFData objectForKeyedSubscript:]:无法识别的选择器发送到实例 0xb07c880

JSON 文件:

https://dl.dropboxusercontent.com/u/11377305/resources/pack01.json

为什么它可以在本地主机上运行?我将不胜感激任何建议,甚至任何关于我应该问什么问题的想法。

最佳答案

该错误表明您正在从远程 URL 传递 NSData 而不是 NSDictionary

PromiseKit 文档指出:

PromiseKit reads the response headers and decodes the result you actually wanted (in a background thread):

因此可以肯定的是,您的远程服务器(在本例中为 DropBox)并未指示返回的数据格式为 JSON。所以 PromiseKit 没有解析它。

编辑:确认。 DropBox 正在返回:

Content-Type    text/plain; charset=utf-8

所以 PromiseKit 无法知道包含的数据是 JSON。您需要一个将返回 application/json Content-Type 的服务器。或者,您可以强制自己解析 JSON,但是您会错过 PromiseKit 的大部分好处,因为您最终会编写与我们其他人相同的样板代码。

关于ios - NSURLConnection 检索 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25275532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com