簡體   English   中英

JSON 字符串編碼 - 混淆

[英]JSON String Encoding - Confusion

在使用 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]; 

第五步:現在問題已經解決了。 我無法理解這里的問題。 誰能幫我理解這個場景

目前尚不清楚這與 JSON 有何關系。 您的代碼片段創建 SBJSON 解析器對象,但從不使用它們。

也很難弄清楚為什么initWithData調用會在沒有看到數據的情況下失敗。 我的猜測是數據包含無效的 UTF8 字節序列,因此解碼為 UTF8 失敗,但解碼為 ASCII 有效,因為“壞”字符僅被視為未知的單字節字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM