我对JSON文档并不是这样,我遇到了问题。我试图用https://jsonlint.com/
验证这个简单的JSON文档{
"forecast": [
"day": [],
"day": []
]
}
预测是一组meteo预测,天是一个数组,其中包含一些与特定日期的早晨,下午和晚上预测相关的对象。我会在第二次充实它。
问题是,当我尝试验证此文档时,我通过以前的验证工具获取以下错误消息:
Error: Parse error on line 3:
...forecast": [ "day": [], "day": [] ]
----------------------^
Expecting 'EOF', '}', ',', ']', got ':'
为什么呢?问题是什么?如何创建这样的正确结构?
答案 0 :(得分:4)
数组[]
包含值列表。
一组"property": value
对需要表示为对象{}
。
此外,虽然在某个对象中(技术上)允许重复的属性名称,但只接受最后一个值。
也许您正在尝试创建一个对象数组?
{
"forecast": [
{ "day": [] },
{ "day": [] }
]
}
答案 1 :(得分:1)
"forecast": [
"day": [],
"day": []
]
forecast
键包含一个对象,而不是一个数组,因此需要:
"forecast": {
"day1": [],
"day2": []
}
或
"forecast": [
{ "day": [] },
{ "day": [] }
]
答案 2 :(得分:0)
因为“day”在一个数组中,但你像对象一样使用它(“property:value”表示法)。 将方括号更改为花括号或使用适当的数组结构。有意义吗?
答案 3 :(得分:-1)
forecase实际上应该是一个对象,而不是一个数组。
{
"forecast": {
"day": [],
"day": []
}
}
答案 4 :(得分:-1)
在JSON文件中,数组代表新对象或值如下:
{
"forecast": [{
"day": []
},
{
"day": []
}
]
}
或
{
"forecast": [
["morning", " afternoon", " night"],
["morning", "afternoon", " night"]
]
}