0

私はJSONを初めて使用するため、JSONの解析に問題があります。

JSONファイルを作成しました:

newjson.json

{
    "title":"My Title",
    "contents":"My\
                Multiline\
                Contents"
}

以前\は、複数行の文字列を許可しないJavaScript構文のエラーを回避していましたが、PHPでロードしてfile_get_contents()デコードするとjson_decode()、解析できません。

文字列をデコード関数に入れる前に、 \sなどを使って処理する必要があると思います。preg_replace

私は何をすべきか?

4

2 に答える 2

5

有効なJSONではないため、PHPは文字列を解析できません。有効なエスケープシーケンスは次のとおりです。

  • \"引用符の場合
  • \\バックスラッシュの場合
  • \/スラッシュの場合
  • \bバックスペース用
  • \fフォームフィードの場合
  • \n改行の場合
  • \rキャリッジリターンの場合
  • \tタブ用
  • \uxxxx16進エスケープの場合

文字通りの改行が必要な場合は、代わりに改行エスケープを使用してください。それ以外の場合は、あまりきれいではない文字列で生活する必要があります。

{
    "title":"My Title",
    "contents":"My\nMultiline\nContents"
}
于 2012-07-06T05:11:53.527 に答える
1

json構文に何か問題があるはずです。それが解析できない理由です...

http://json.parser.online.fr/を試してください

そこにjson文字列全体をコピーして、それを操作してみてください...そこでエラーが見つかる可能性があります

于 2012-07-06T05:17:56.613 に答える