2017-10-19 71 views
0

我正在研究React Native應用程序,它從服務器獲取API響應。有時候,它會返回成功,但有時會出現錯誤。React本機提取有時會捕獲JSON解析錯誤

下面的代碼是我取功能:

export default async (url, body = null, method = 'GET') => { 
    let config = { 
     method, 
    }; 
    return await fetch(url, config).then((response) => { 
     if (!response.ok) { 
      throw Error(response.statusText); 
     } 
     return response.json(); 
    }).catch(error => { 
     console.warn(error); // sometimes it was catched in here 
    }); 
}; 

它返回的各種錯誤信息,如:

[SyntaxError: JSON Parse error: "\u302\" is not a valid unicode escape]
[SyntaxError: JSON Parse error: Invalid escape character 4]
[SyntaxError: JSON Parse error: "\u740\" is not a valid unicode escape]

我已經通過瀏覽器檢查了我的API響應和它沒」沒有發現任何錯誤的反應。也許我認爲ES代碼有問題。

這裏怎麼回事?

回答

0

的\ U302 \性格似乎是類似於^符號一種叫做 「結合抑揚音」 http://www.fileformat.info/info/unicode/char/0302/index.htm

和\ U740 \是「SYRIAC FEMININE DOT http://www.fileformat.info/info/unicode/char/0740/index.htm

的JSON解析器只是無法處理這些角色,或者至少不是他們所呈現的方式,看起來他們被用作轉義角色,但很難知道,因爲您沒有提供樣本產生每個錯誤的輸出。

+0

感謝你的回答。以下是示例JSON輸出:https://pastebin.com/vduDQJ8g。但是,有時它可以處理它。 –

+0

哪個錯誤映射到此輸出?如果您可以提供耦合到此JSON輸出的整個錯誤消息,那將有所幫助。 –

+0

很難找到確切的錯誤位置,因爲它有時會被成功解析。這是一個錯誤嗎? –