2012-07-06 51 views
0

我是JSON的新手,因此解析它時出現了一些問題。使用json_decode解碼JSON文件中的多行字符串()

我做了一個JSON文件:

newjson.json

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

我用\避免JavaScript語法錯誤,不允許多行字符串,但是當我加載它與file_get_contents()並在PHP中使用json_decode()解碼,它無法解析它。

我認爲我應該處理\ s與preg_replace,或者在將字符串放入解碼函數之前。

我該怎麼辦?

回答

5

PHP無法解析您的字符串,因爲it's not valid JSON。唯一有效的轉義序列是:

  • \"了引號
  • \\反斜槓
  • \/爲正斜槓
  • \b的退格
  • \f的換頁
  • \n換行
  • \r回車符
  • \t的標籤
  • \uxxxx爲十六進制轉義

使用,而不是如果你想換行文本換行逃逸。否則,你將不得不忍受一個不太漂亮的字符串。

{ 
    "title":"My Title", 
    "contents":"My\nMultiline\nContents" 
} 
+0

哦,我只是想分開長字符串內容的可讀性,當寫它。那不是可能嗎?我是否應該把它放在一條線上? – 2012-07-06 05:19:56

+0

@ Young-HoKim:是的,它必須在一行中。 – Ryan 2012-07-06 05:21:10

1

一定有什麼不對您的JSON語法這就是爲什麼它不能分析它...

試試你http://json.parser.online.fr/

複製你的整個JSON字符串存在,並嘗試以操縱...你可能會發現你的錯誤