0

次の変換は、制御文字が正しくないと言って失敗します

var myObj = JSON.parse('{"imagePath": "http://somedomain.com/test.jpg?path=\728\1.jpg"}');
console.log(myObj);

これは、画像パスに次の文字「\」が含まれているためです。もしそうなら、これに対する解決策はありますか?

その文字を削除すると機能します。

ありがとう。

4

2 に答える 2

1

\エスケープ文字です。したがって\、画像のパス文字列で使用する場合は、ダブルエスケープする必要があります。すなわち使用\\

于 2013-03-06T18:43:00.000 に答える
1

\JSONを生成する場所では、文字をエスケープする必要があります。

リテラルの場合は、エスケープもエスケープする必要があります。

j = JSON.parse('{"imagePath": "http://somedomain.com/test.jpg?path=\\\\728\\\\1.jpg"}');
于 2013-03-06T18:43:32.857 に答える