2009-06-03 154 views
5
{"something":"1","mode":"true","number":"1234"} 

因爲我在期待JSON時得到了406。這是有效的JSON嗎?

它是通過澤西生成的,它被告知方法@Produces JSON。它被一個Dojo xhrGet接收,它的JSON被設置爲handleAs。

編輯 - 爲了澄清,我不喜歡在我評估的代碼或類似的東西。這個問題很簡單 - 它有效的JSON?

+0

分享評價它的地方。 – 2009-06-03 14:09:46

+0

它是有效的JSON。 – Nosredna 2009-06-03 15:26:45

回答

14

這是,但是您已將布爾(mode)和數字(number)元素都作爲字符串。它不應該是:

{"something":"1","mode":true,"number":1234} 
1

如果你想直接使用數字,你不應該把它們放在引號中。它是有效的JSON,但機會是你想要做的是:

{「東西」:1,「模式」:「真」,「數字」:1234}

您需要添加更多信息,如果你想更好的答案。

編輯:呃...是的,布爾值不應該被引用,除非你想要自己轉換它,出於某種原因。

7

它是有效的JSON如果字典的所有值都是字符串。這也是有效的JSON:

{ 「東西」:1, 「模式」:真實的, 「數字」:1234}

然而,通常一個406錯誤,當你問一個響應類型的發生(如作爲html或json),並且服務器無法以此類型發送它。你爲什麼認爲輸入無效?

0
  • 是的,這是有效的JSON
  • 但如果你在輸出這是一個HTTP請求的結果的規劃,你需要逃避所有的報價

$海峽=「 {\ 「東西\」:\ 「1 \」 \ 「模式\」:\ 「真\」 \ 「號碼\」:\ 「1234 \」}「; echo $ str