にすでにある場合、なぜJSON.parseが検出カントが、変数がすでにJSON
であり、あなたはそれがエラーをスローすることにJSON.parse
をしようとします我々は<code>JSON.parse</code>は文字列化<code>JSON</code>を解析し、知っているように引数はJSON形式
> a
[]
> a = JSON.parse(a)
SyntaxError: Unexpected end of input
at Object.parse (native)
at repl:1:10
at REPLServer.defaultEval (repl.js:132:27)
at bound (domain.js:254:14)
at REPLServer.runBound [as eval] (domain.js:267:12)
at REPLServer.<anonymous> (repl.js:279:12)
at REPLServer.emit (events.js:107:17)
at REPLServer.Interface._onLine (readline.js:214:10)
at REPLServer.Interface._line (readline.js:553:8)
at REPLServer.Interface._ttyWrite (readline.js:830:14)
なぜcant JSON.parse
この引数がすでにJSON object
であることを確認し、エラーを投げる代わりに何もしないのですか?
は、所有者が – Rayon
....開発者がそれを使用するのに十分にスマートであることが予想されマイ:オブジェクトが有効なJSON文字列に変換しているため、以下の例が正常に動作している
同等の作業例
私は問題の1つは、 '[function(){}]'がJSON.parseから返されるということですが、それは_invalid JSON_です。これらのケースをチェックする必要があります。ところで、JSON.parse({toString:function(){return "[1、2、3]";}}) 'のようなエッジケースは、期待される結果。 – Xufox