1

在使用 json 解析时,我面临着一个非常混乱的情况。

情景是,

第 1 步:我有两个链接

     1. http://www.xyz.com/json/getpidl.asp?id=5527446
     2. http://www.xyz.com/json/getpidl.acp?id=5587963
     ****BOTH LINKS ARE WORKING** **

第 2 步:现在我尝试使用以下代码对这两个链接中的 json 字符串(一个接一个)进行编码

    NSMutableString *responseString = [[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    NSError *error;
SBJSON *parserObject = [[SBJSON alloc] init];

第 3 步:a) Link1 - 响应字符串具有 json 字符串 b) Link2 - 响应字符串为空

第 4 步:所以,我更改了如下代码,

    NSMutableString *responseString = [[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];


    if (!(responseString))
    {
    responseString = [[NSMutableString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];
    }
    NSError *error;
SBJSON *parserObject = [[SBJSON alloc] init]; 

第5步:现在问题已经解决了。但我无法理解这里的问题。谁能帮我理解这种情况

4

1 回答 1

2

目前尚不清楚这与 JSON 有什么关系。您的代码片段创建 SBJSON 解析器对象,但从不使用它们。

initWithData如果不查看数据的样子,也很难弄清楚为什么调用失败。我的猜测是数据包含无效的 UTF8 字节序列,因此解码为 UTF8 失败,但解码为 ASCII 有效,因为“坏”字符仅被视为未知的单字节字符。

于 2012-11-22T06:25:01.687 回答