{"something":"1","mode":"true","number":"1234"}
因为我期待JSON获得406.
它是通过Jersey生成的,它被告知一个方法@Produces JSON。它被Dojo xhrGet接收,它将JSON设置为其处理。
编辑 - 澄清一下,我对我评估的代码或类似的代码不感兴趣。问题很简单 - 它是有效的JSON吗?
答案 0 :(得分:14)
确实如此,但您已将布尔(mode
)和数字(number
)元素作为字符串。不应该是:
{"something":"1","mode":true,"number":1234}
答案 1 :(得分:7)
如果字典的所有值都是字符串,则它是有效的JSON。这也是有效的JSON:
{“something”:1,“mode”:true,“number”:1234}
但是,通常,当您要求响应类型(例如html或json)并且服务器无法以该类型发送时,会发生406错误。为什么你认为输入无效?
答案 2 :(得分:6)
我使用一个名为JASONLint(http://www.jsonlint.com/)的简单复制/粘贴工具来测试我的JSON山脉。你可以挖掘它。
答案 3 :(得分:1)
如果您想直接使用这些数字,则不应将它们放在引号中。它是有效的JSON,但您可能想要做的是:
{ “东西”:1, “模式”: “真”, “号码”:1234}
如果您想要更好的答案,则需要添加更多信息。
编辑:呃...是的,不应该引用布尔值,除非你希望自己转换它,出于某种原因。
答案 4 :(得分:0)
$ str =“{\”something \“:\”1 \“,\”mode \“:\”true \“,\”number \“:\”1234 \“}”; echo $ str