这是有效的JSON吗?

时间:2009-06-03 14:07:15

标签: javascript json

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

因为我期待JSON获得406.

它是通过Jersey生成的,它被告知一个方法@Produces JSON。它被Dojo xhrGet接收,它将JSON设置为其处理。

编辑 - 澄清一下,我对我评估的代码或类似的代码不感兴趣。问题很简单 - 它是有效的JSON吗?

5 个答案:

答案 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)

  • 是的,这是有效的JSON
  • 虽然如果您计划将此输出作为HTTP请求的结果,您将需要转义所有引号

$ str =“{\”something \“:\”1 \“,\”mode \“:\”true \“,\”number \“:\”1234 \“}”; echo $ str