2017-10-19 6 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の\は「シリアFEMININE DOTが http://www.fileformat.info/info/unicode/char/0740/index.htm

JSONパーサーですと呼ばれますこれらの文字を扱うことはできません。少なくとも、それらは提示された方法ではありません。エスケープ文字として使用されているように見えますが、あなたがサンプルを提供しなかったので、知るのは難しいです。各エラーを生成した出力

+0

答えをありがとう。 JSONの出力例を示します(https://pastebin.com/vduDQJ8g)。しかし、時にはそれを処理することができます。 –

+0

どのエラーがこの出力に対応していますか?このJSON出力に結合したエラーメッセージ全体を提供できれば、それは役に立ちます。 –

+0

正常に解析されたことがあるため、エラーの場所がどこにあるのかを見つけるのは難しいです。それはフェッチのバグですか? –

関連する問題