2015-02-08 85 views
-2

我從一些其他web服務獲取json請求,如下所示。我試圖解碼下面的字符串。 「說明」: 「Orijen貓&小貓340克\ r \ n \ r \ n所有貓和小貓演變爲食肉動物,DESIGNED BY自然」在php中解碼json的問題

$ POSTDATA = json_decode($ HTTP_RAW_POST_DATA,真實,JSON_UNESCAPED_UNICODE);

但我得到空$ postData。任何人都可以建議什麼是錯的?

+1

如果這是你的整個字符串,那麼它是無效的JSON – 2015-02-08 08:05:02

+0

不,實際上這不是我的整個json字符串。我把我的json放在http://jsonlint.com/中,它說它的有效json字符串 – Butterfly 2015-02-08 08:08:32

+0

你的json是什麼,應該用這個。 – user254153 2015-02-08 08:09:30

回答

1

您顯示的字符串缺少「{」和「}」對象分隔符(不是有效的json,如圖所示);你得到一個NULL?

我沒有看到JSON_UNESCAPED_UNICODE記錄在http://php.net/manual/en/function.json-decode.php,如果沒有定義,它將默認擴展爲字符串。

options參數是json_decode的第4個參數,第3個參數是recursion_depth。一個非數字字符串被強制爲零數字

編輯:字符串是如何打印的?字符串中是否有字面<CR><NL>未轉義?當我嘗試它時,它在嵌入式CR和NL上出錯。 Json_decode想要「\ r \ n」反斜槓轉義的控制字符。

+0

'JSON_UNESCAPED_UNICODE'的值是'256'(如果PHP版本足夠新,可以定義它)。你當然是對的,但它絕對與'json_decode'無關。 – deceze 2015-02-08 08:15:48