次の例を考えてみましょう。FirefoxがここでJSON解析エラーを投げるのはなぜですか?
<script>
var dirstruct=JSON.parse('{"Foo":{"Bar.txt":"\n"},"Blahblah.txt":"FooBar\n"}');
</script>
私はJSONLintを通じて単一引用符の内側にJSONを入れているが、このファイルはFirefoxでロードされたとき、私は次のエラーを取得します。
SyntaxError: JSON.parse: bad control character in string literal at line 1 column 20 of the JSON data
このエラーの原因は何か、どのように修正できますか?
{"Foo":{"Bar.txt":"
"},"Blahblah.txt":"FooBar
"}
、これは無効なJSONです:
エスケープバックスラッシュ['JSON.parse( '{" Foo ":{" Bar.txt ":" \\ n "}" Blahblah.txt ":" FooBar \\ n "}')'](https ://jsfiddle.net/tusharj/4zo8Lybk/) – Tushar
@ Tushar、Ugh、私はこれをPHPで生成していましたが、JS側で2番目の引用符があるのを忘れていました。ありがとう! – merlin2011