【问题标题】:JSON String is valid but JSON Data is not accurate [closed]JSON字符串有效但JSON数据不准确[关闭]
【发布时间】:2016-02-21 17:09:56
【问题描述】:

我正在处理 json 数据。我将 csv 文件转换为 json,当我尝试通过不同的 json 验证器站点验证该数据时,出现以下错误:

JSON 字符串有效但 JSON 数据不准确

我的数据如下:

[{
    "also_item": "item3",
    "unit_count": "1",
    "driver": "item3",
    "rank": "1"
}][{
    "also_item": "item4",
    "unit_count": "1",
    "driver": "item4",
    "rank": "1"
}][{
    "also_item": "item5",
    "unit_count": "1",
    "driver": "item5",
    "rank": "1"
}][{
    "also_item": "item6",
    "unit_count": "1",
    "driver": "item6",
    "rank": "1"
}][{
    "also_item": "item7",
    "unit_count": "1",
    "driver": "item7",
    "rank": "1"
}][{
    "also_item": "item8",
    "unit_count": "1",
    "driver": "item8",
    "rank": "1"
}][{
    "also_item": "item9",
    "unit_count": "1",
    "driver": "item9",
    "rank": "1"
}][{
    "also_item": "item20",
    "unit_count": "1",
    "driver": "item20",
    "rank": "1"
}][{
    "also_item": "item21",
    "unit_count": "1",
    "driver": "item21",
    "rank": "1"
}][{
    "also_item": "item22",
    "unit_count": "1",
    "driver": "item22",
    "rank": "1"
}][{
    "also_item": "item10",
    "unit_count": "1",
    "driver": "item10",
    "rank": "1"
}][{
    "also_item": "item11",
    "unit_count": "1",
    "driver": "item11",
    "rank": "1"
}][{
    "also_item": "item12",
    "unit_count": "1",
    "driver": "item12",
    "rank": "1"
}][{
    "also_item": "item13",
    "unit_count": "1",
    "driver": "item13",
    "rank": "1"
}][{
    "also_item": "item14",
    "unit_count": "1",
    "driver": "item14",
    "rank": "1"
}][{
    "also_item": "item15",
    "unit_count": "1",
    "driver": "item15",
    "rank": "1"
}][{
    "also_item": "item16",
    "unit_count": "1",
    "driver": "item16",
    "rank": "1"
}][{
    "also_item": "item17",
    "unit_count": "1",
    "driver": "item17",
    "rank": "1"
}][{
    "also_item": "item18",
    "unit_count": "1",
    "driver": "item18",
    "rank": "1"
}][{
    "also_item": "item",
    "unit_count": "1",
    "driver": "item",
    "rank": "1"
}, {
    "also_item": "item19",
    "unit_count": "1",
    "driver": "item19",
    "rank": "1"
}][{
    "also_item": "item1",
    "unit_count": "1",
    "driver": "item1",
    "rank": "1"
}][{
    "also_item": "item2",
    "unit_count": "1",
    "driver": "item2",
    "rank": "1"
}][{
    "also_item": "item3",
    "unit_count": "1",
    "driver": "item3",
    "rank": "1"
}][{
    "also_item": "item4",
    "unit_count": "1",
    "driver": "item4",
    "rank": "1"
}][{
    "also_item": "item5",
    "unit_count": "1",
    "driver": "item5",
    "rank": "1"
}][{
    "also_item": "item6",
    "unit_count": "1",
    "driver": "item6",
    "rank": "1"
}][{
    "also_item": "item7",
    "unit_count": "1",
    "driver": "item7",
    "rank": "1"
}][{
    "also_item": "item8",
    "unit_count": "1",
    "driver": "item8",
    "rank": "1"
}][{
    "also_item": "item9",
    "unit_count": "1",
    "driver": "item9",
    "rank": "1"
}][{
    "also_item": "item20",
    "unit_count": "1",
    "driver": "item20",
    "rank": "1"
}][{
    "also_item": "item21",
    "unit_count": "1",
    "driver": "item21",
    "rank": "1"
}][{
    "also_item": "item22",
    "unit_count": "1",
    "driver": "item22",
    "rank": "1"
}]

我正在使用this 进行验证。 谁能告诉我的 json 数据应该是什么样子或者它是什么类型的错误。

【问题讨论】:

  • 您到底使用了哪个验证器?请链接。
  • 对我来说看起来很无效 - 这些是多个 JSON 字符串。您需要一个数组,其中项目用逗号分隔。
  • 需要更多信息,例如如何转换它,以及为什么结构如此奇怪。看起来你在转换过程中做错了什么

标签: javascript json csv


【解决方案1】:

这不是一个有效的 JSON。

如果您将 JSON 粘贴到 http://www.jsoneditoronline.org/ 之类的内容中,您应该会看到您的问题。

结构不是很好。 它应该是一个对象数组:

[
  {
    "also_item": "item3",
    "unit_count": "1",
    "driver": "item3",
    "rank": "1"
  },
  {
    "also_item": "item4",
    "unit_count": "1",
    "driver": "item4",
    "rank": "1"
  }
]

编辑

@Downgoat 是正确的,但您必须将整个结果包装在数组[] 中。然后它会起作用,但我认为你应该解决这个结构。拥有多个包含一个对象的数组并不好。您应该有 1 个包含许多对象的数组。

【讨论】:

    【解决方案2】:

    错误似乎在条目之间:

    }][{
    

    它们之间需要有一个逗号:

    }],[{
    

    你也不应该让数组只围绕一个对象,数组应该围绕整个 JSON


    这是您的固定 JSON:

    [
        {
            "also_item": "item3",
            "unit_count": "1",
            "driver": "item3",
            "rank": "1"
        },
        {
            "also_item": "item4",
            "unit_count": "1",
            "driver": "item4",
            "rank": "1"
        },
        {
            "also_item": "item5",
            "unit_count": "1",
            "driver": "item5",
            "rank": "1"
        },
        {
            "also_item": "item6",
            "unit_count": "1",
            "driver": "item6",
            "rank": "1"
        },
        {
            "also_item": "item7",
            "unit_count": "1",
            "driver": "item7",
            "rank": "1"
        },
        {
            "also_item": "item8",
            "unit_count": "1",
            "driver": "item8",
            "rank": "1"
        },
        {
            "also_item": "item9",
            "unit_count": "1",
            "driver": "item9",
            "rank": "1"
        },
        {
            "also_item": "item20",
            "unit_count": "1",
            "driver": "item20",
            "rank": "1"
        },
        {
            "also_item": "item21",
            "unit_count": "1",
            "driver": "item21",
            "rank": "1"
        },
        {
            "also_item": "item22",
            "unit_count": "1",
            "driver": "item22",
            "rank": "1"
        },
        {
            "also_item": "item10",
            "unit_count": "1",
            "driver": "item10",
            "rank": "1"
        },
        {
            "also_item": "item11",
            "unit_count": "1",
            "driver": "item11",
            "rank": "1"
        },
        {
            "also_item": "item12",
            "unit_count": "1",
            "driver": "item12",
            "rank": "1"
        },
        {
            "also_item": "item13",
            "unit_count": "1",
            "driver": "item13",
            "rank": "1"
        },
        {
            "also_item": "item14",
            "unit_count": "1",
            "driver": "item14",
            "rank": "1"
        },
        {
            "also_item": "item15",
            "unit_count": "1",
            "driver": "item15",
            "rank": "1"
        },
        {
            "also_item": "item16",
            "unit_count": "1",
            "driver": "item16",
            "rank": "1"
        },
        {
            "also_item": "item17",
            "unit_count": "1",
            "driver": "item17",
            "rank": "1"
        },
        {
            "also_item": "item18",
            "unit_count": "1",
            "driver": "item18",
            "rank": "1"
        },
        {
            "also_item": "item",
            "unit_count": "1",
            "driver": "item",
            "rank": "1"
        },
        {
            "also_item": "item19",
            "unit_count": "1",
            "driver": "item19",
            "rank": "1"
        },
        {
            "also_item": "item1",
            "unit_count": "1",
            "driver": "item1",
            "rank": "1"
        },
        {
            "also_item": "item2",
            "unit_count": "1",
            "driver": "item2",
            "rank": "1"
        },
        {
            "also_item": "item3",
            "unit_count": "1",
            "driver": "item3",
            "rank": "1"
        },
        {
            "also_item": "item4",
            "unit_count": "1",
            "driver": "item4",
            "rank": "1"
        },
        {
            "also_item": "item5",
            "unit_count": "1",
            "driver": "item5",
            "rank": "1"
        }][{
            "also_item": "item6",
            "unit_count": "1",
            "driver": "item6",
            "rank": "1"
        },
        {
            "also_item": "item7",
            "unit_count": "1",
            "driver": "item7",
            "rank": "1"
        },
        {
            "also_item": "item8",
            "unit_count": "1",
            "driver": "item8",
            "rank": "1"
        },
        {
            "also_item": "item9",
            "unit_count": "1",
            "driver": "item9",
            "rank": "1"
        },
        {
            "also_item": "item20",
            "unit_count": "1",
            "driver": "item20",
            "rank": "1"
        },
        {
            "also_item": "item21",
            "unit_count": "1",
            "driver": "item21",
            "rank": "1"
        },
        {
            "also_item": "item22",
            "unit_count": "1",
            "driver": "item22",
            "rank": "1"
        }
    ]
    

    【讨论】:

    • @charlietfl 见第二行:“你也不应该让数组只围绕一个对象,数组应该围绕整个 JSON”
    【解决方案3】:

    JSON 无效,因为您有多个根元素。您需要类似于以下示例进行转换。例如,您在 item3 和 item4 之间有额外的“][”。用“,”删除,它将起作用。对所有其他人重复相同的操作。

    [{
        "also_item": "item3",
        "unit_count": "1",
        "driver": "item3",
        "rank": "1"
    },{
        "also_item": "item4",
        "unit_count": "1",
        "driver": "item4",
        "rank": "1"
    }]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多