0
我有一個json字符串,我用json_encode生成這個問題。 這是輸入:json_encode給出沒有有效的json字符串
stdClass Object
(
[titles] => stdClass Object
(
[nl] => test
[en] => test
)
[contents] => stdClass Object
(
[nl] => <p>\n test</p>\n
[en] => <p>\n test</p>\n
)
[languages] => stdClass Object
(
[0] => nl
[1] => en
)
)
,我用這個SQL語句把這個在我的數據庫:
INSERT INTO `pages`
(`title`, `content`, `lang`)
VALUES('{"nl":"test","en":"test"}', '{"nl":"<p>\\n\ttest<\/p>\\n","en":"<p>\\n\ttest<\/p>\\n"}', '{"0":"nl","1":"en"}')
據我所看到的,沒有錯,這一切都存儲在數據庫中,沒有問題。
然後我試圖讓輸出我得到這個爲我的內容:導致
{"nl":"<p>n test</p>n","en":"<p>n test</p>n"}
:
(
[id] => 10
[title] => stdClass Object
(
[nl] => test
[en] => test
)
[content] =>
[lang] => stdClass Object
(
[0] => nl
[1] => en
)
[created] => 2012-10-24 11:49:52
)
所以,我的JSON字符串無效。 這怎麼可能? 我真的不知道我做錯了什麼。
你說你得到的內容的輸出不是你的INSERT語句存儲在數據庫中的值,但即使這是一個有效的JSON,它也能很好地解碼。在選擇它之後,你會以某種方式改變它,發佈你的實際代碼。另外,你應該規範你的數據庫模式並停止存儲JSON。 – lanzz