内部の単一引用符私はこのようなデータをプリントアウトしている:JSONパース - Djangoテンプレートで名前
P.place = '{{place.json|safe}}';
は、その後のJavaScriptファイルに私はそのようにそれをペアリングしています:
place = JSON.parse(P.place);
すべてが大丈夫ですそのようなデータのために:
{"category": "Cars", "name": "Z"}
文字列は、そのようになりますので:
P.place = '{"category": "Cars", "name": "Z"}'
だから、私はJSON.parseメソッドの魔女は、入力として文字列を受け入れる使用してそれを解析することができます。私はそのようなデータを取得するとき
問題は次のとおりです。
{"category": "Cars", "name": "Wojtek's Z"}
JSONパーサーの入力文字列がそのように見えるよりもので:
'{"category": "Cars", "name": "Wojtek'
その後、JSONので、私は、JSON文字列内の単一引用符をエスケープすることはできません文字列が無効になります。同じ理由から、私は周囲の引用符を二重で置き換えることはできず、JSON文字列の中で二重引用符をエスケープすることはできません。
私のソリューションは、次のようになります。
HTMLテンプレートで:
P.place = {{place.json|safe}};
は、その後のJavaScript
var place = JSON.stringify(P.place);
place = JSON.parse(place);
にそれは動作しますが、それが最適解の私見ではありません。もっと包丁方法でこの問題を解決する方法
?
JSON内にアポストロフィを引用する必要がありますが、回避方法はありません。しかし、通常は "\ '"を使ってオブジェクトを定義すると、それをエスケープすることができます。または、好きな場合は、ユニコードをエスケープしてください(私は思っています)。 – StaxMan
あなたは、それを行うとjson.org –
あなたは何を行うことはできませんjsonlint.comチェックアウトすることはできませんか? jsonの仕様をチェックしてください。 – StaxMan