gpt4 book ai didi

ios - 当我在开发 iOS 应用程序时从服务器获取 JSON 数据时包含奇怪的字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:04:01 26 4
gpt4 key购买 nike

我正在开发 iOS 应用程序。我在以下代码中从 PHP 服务器获取 JSON 数据。

NSURL *requestUrl = [NSURL URLWithString:urlString];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:requestUrl];
NSHTTPURLResponse *httpResponse;

NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&httpResponse error:nil];

NSString *str= [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSError *e = nil;
NSArray *array =[NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments|NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&e];

NSLog(@"str=%@",str);
NSLog(@"error=%@",e);

NSLog(@"error=%@",e) 说:"Error Domain=NSCocoaErrorDomain Code=3840 "操作无法完成。 (Cocoa 错误 3840。)”(字符 3010 周围的对象格式错误。)UserInfo=0x15ed7f40 {NSDebugDescription=字符 3010 周围的对象格式错误。}”。

NSLog(@"str=%@",str) 意外地包含:"\343\201"

我认为问题是 JSON 数据不正确,上面的 "\343\201" 导致了这个问题。

你能告诉我如何解决这个问题吗?

最佳答案

快速搜索错误消息表明问题是由于格式不正确的 JSON 数据造成的。

Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x984aeb0 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

这意味着您应该允许片段,我可以看到这是您已经在使用的一个选项。我建议您尝试在浏览器中执行 JSON 查询并验证 JSON。您可以将其复制到文本编辑器中以确保其有效。共享该字符串(如果它不是敏感信息)将使我们能够进一步隔离问题。

SO 上的其他一些人也报告了类似的问题,例如 here .我建议你把错误信息文本“Error Domain=NSCocoaErrorDomain Code=3840”The operation couldn't be completed. (Cocoa 错误 3840。)”并搜索 SO 以获取有关导致其问题的原因的更多线索。

您可能还想尝试一种不同的策略,将选项设置为 nil(出于测试目的),然后再次执行并验证结果。

更新

OK,完整的错误信息是:

NSLog(@"error=%@",e) says "Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Badly formed object around character 3010.) UserInfo=0x15ed7f40 {NSDebugDescription=Badly formed object around character 3010.}".

基于此,您的 JSON 中有一些错误的文本。输出到文本文件并尽可能共享。使用这些关键字“JSON Badly formed object around character”搜索 SO 会显示四个答案,这是 one .请查看这些是否解决了您的问题。

关于ios - 当我在开发 iOS 应用程序时从服务器获取 JSON 数据时包含奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530718/

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