【问题标题】:What's Wrong With This JSON?这个 JSON 有什么问题?
【发布时间】:2012-02-09 21:03:02
【问题描述】:

我正在使用简单的 json 来创建和解析一些 json。但是,在创建它之后,当我执行parser.parse(jStr); 时,我会得到一个ParseException。下面是jStr的值

{"score":12,"balls":[[PURPLE_V,134.33325,331.11713,2.0,10.750022,-115,11.0,0],[PURPLE_SPLAT,59.209473,169.87143,0.0,6.2909174,16,11.0,1],[GREEN_V,119.00015,73.71671,-12.0,6.7500067,-35,11.0,0],[ORANGE_V,229.66664,7.4416676,8.0,5.250001,-5,11.0,0]]}

这有什么问题?可以不做数组数组吗?

【问题讨论】:

  • jsonlint 在调试无效 json 时总是有用的。
  • 使用jsonlint.org 处理这些事情,它真的是一个很棒的书签工具。
  • 你可以随时试试这个jsonlint.com

标签: java json-simple


【解决方案1】:

PURPLE_VPURPLE_SPLATGREEN_VORANGE_V 应该在引号内。

【讨论】:

  • 哦,对了!当然!谢谢。我认为这是我忽略的一些简单的事情。
【解决方案2】:

试试JSONLint:

{
    "score": 12,
    "balls": [
        [
            PURPLE_V,
            134.33325,
    // ..

输出

Parse error on line 4:
...      [            PURPLE_V,          
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', ']'

PURPLE_V 等不是可识别的类型。 如果您希望它们是字符串,请用引号将它们括起来。

【讨论】:

    【解决方案3】:

    非数字值应在引号之间。

    {"score":12,"balls":[["PURPLE_V",134.33325,331.11713,2.0,10.750022,-115,11.0,0],["PURPLE_SPLAT",59.209473,169.87143,0.0,6.2909174,16,11.0,1],["GREEN_V",119.00015,73.71671,-12.0,6.7500067,-35,11.0,0],["ORANGE_V",229.66664,7.4416676,8.0,5.250001,-5,11.0,0]]}
    

    我建议您使用http://jsonlint.com/ 来验证您的 JSON。您可能还想查看http://www.json.org/

    【讨论】:

      【解决方案4】:

      已更正(还有一些格式可供查看):

      {"score":12,"balls":[
          ["PURPLE_V",134.33325,331.11713,2.0,10.750022,-115,11.0,0],
          ["PURPLE_SPLAT",59.209473,169.87143,0.0,6.2909174,16,11.0,1],
          ["GREEN_V",119.00015,73.71671,-12.0,6.7500067,-35,11.0,0],
          ["ORANGE_V",229.66664,7.4416676,8.0,5.250001,-5,11.0,0]
      ]}
      

      http://json.org

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-08
        • 2013-02-24
        • 2018-02-23
        • 1970-01-01
        • 1970-01-01
        • 2015-12-04
        • 1970-01-01
        相关资源
        最近更新 更多