2017-01-07 14 views
0

私は完全に困惑しています。 JSONデータの行1列1に予想外の文字:JSON.parse:予期しない文字 - 構文は正しいです、データ型は文字列です

{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"} 

例外によって報告された正確なエラーは次のとおりです:

JSON.parse JSON.parse()に次の文字列をしようとしたとき、私は例外を取得しています

JSONLintでは文字列構文が正しいです。私はまた、データ型が文字列であることを確認しました。

例外を引き起こす原因は何ですか?

+3

'JSON.parse'を渡しているものが本当に文字列であり、実際にその内容であれば、そのエラーは発生しません。 ( 'JSON.parse'を非標準的なものに置き換えていない限り、おそらくそうではありません)。問題を実証できる[mcve]で質問を更新してください。 –

+0

'JSON.parse'への入力は' string'で、JSONオブジェクトではありませんか? –

+0

あなたの入力は、エラーが発生する理由のオブジェクトです –

答えて

0

多分あなたは文字列を引用するのを忘れましたか?

引用符を省略

console.log(JSON.parse('{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}'))

オブジェクトリテラルをもたらすであろう:あなたはおそらく、文字通りその値を代入している

console.log({"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"})

+0

彼はすでに**それは**文字列だと言った。 –

0

、ウィッヒはないオブジェクトであります文字列、そう:

var invalidJSON = {"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}; 

var validJSON = '{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}'; 
+0

彼はすでに** **文字列だと言った。 –

関連する問題