0

私は次のようにJavaで生成されたjsonを使用します:

[{"nickname":"abc,def"},{"nickname":"abc'def"},{"nickname":"abc"def"}]

実行するeval()と例外が発生します。

jsonにコンマと引用符を入れておきたいです。

このような状況にどう対処するか?

4

2 に答える 2

3

jsonが無効であるため、例外があります。どのように生成しましたか?使用する言語に関係なく、データ構造を構築し、jsonエンコード関数(PHPのjson_encodeなど)を呼び出して、有効なjsonを生成します。

この特定の例では、最後の文字列の二重引用符をエスケープする必要があります。

   [{"nickname":"abc,def"},{"nickname":"abc'def"},{"nickname":"abc\"def"}]

注:evalの使用は安全ではありません。JSON.parse()を使用する必要があります!

于 2013-02-22T04:07:50.880 に答える
1

JSONを解析して、この状況に対処する必要があります。

eval()JSONを解析しません。

JSON.parse()JSONを解析し、正常に動作するを呼び出す必要があります。


ソリューションの他の部分は、有効なJSONを生成することです。
"abc"def"有効なJSONではありません。

有効なJSONを生成する実際のJSONライブラリ(gsonやjacksonなど)を使用するようにJavaコードを変更する必要があります。

于 2013-02-22T04:06:04.890 に答える