2013-07-31 82 views
0

我送從Web客戶端JSON對象,它看起來像這樣:節點快速解析請求體用JSON正確

{"AudioEncoder":{"Settings":{"1":{"audio_bitrate":"16000"}}}} 

而在請求我從req.body.myvalue得到:

{"AudioEncoder":{"Settings":[null,{"audio_bitrate":"16000"}]}} 

在我的瀏覽器的網絡面板,我看到正確的價值:

myvalue[AudioEncoder][Settings][1][audio_bitrate]:16000 

錯誤是我期待的使用密鑰{1:...,但得到[null:...

任何想法爲什麼會發生這種情況?

+0

你是如何檢索這些數據的?你使用'JSON.parse'嗎?要麼? – Ali

+0

不,它作爲一個對象 –

回答

1

我懷疑你的瀏覽器不實際發送JSON,它發送application/x-www-form-urlencoded。如果您試圖讓瀏覽器發送JSON,則這不是正確的值:myvalue[AudioEncoder][Settings][1][audio_bitrate]:16000。這不是JSON。檢查Content-Type的請求標頭,並查看請求的原始內容以驗證此內容。如果您發佈了發送AJAX的瀏覽器JS,我們可以幫助您解決這個問題。 jQuery使得指定正確的選項讓它真的發送JSON有點棘手。

+0

謝謝,就是這樣! –