【问题标题】:Why is my json array showing an error when validating?为什么我的 json 数组在验证时显示错误?
【发布时间】:2020-04-16 21:42:07
【问题描述】:

大家好,首先祝你节日快乐。所以我还在一个主要的学习曲线上,所以请多多包涵。我创建了一个 json 专辑数组以供在 javacript 中使用,但每次添加新专辑时,在检查“JSONLint - JSON Validator”网站时都会出错。我不知道是什么问题...

var albumData =[
		{
			"album":
				{	
					"imageUrl": "music_imgs/covers/genpx1.png",
					"artist": "Gen1artist",
					"name": "Gen1name",
					"release":"released 2017",
					"tracks":
					[
						{
							"TrackNumber": "1.",
							"link":"media/file_example_MP3_700KB.mp3",
							"song":"Gen1Track1",
							"songimgUrl": "music_imgs/availsound.png",
							"duration":"2:47"
						},
						{
							"TrackNumber": "2.",
							"link":"media/file_example_MP3_700KB.mp3",
							"song":"Gen1Track2",
							"songimgUrl": "music_imgs/availsound.png",
							"duration":"2:47"
						},
						{
							"TrackNumber": "3.",
							"link":"media/file_example_MP3_700KB.mp3",
							"song":"Gen1Track1",
							"songimgUrl": "music_imgs/availsound.png",
							"duration":"2:47"
						}
				]
			}
		},
		{
			"album":
				{	
					"imageUrl": "music_imgs/covers/genpx2.png",
					"artist": "Gen2artist",
					"name": "Gen2name",
					"release":"released 2020",
					"tracks":
					[
						{
							"TrackNumber": "1.",
							"link":"media/file_example_MP3_700KB.mp3",
							"song":"Gen2Track1",
							"songimgUrl": "music_imgs/availsound.png",
							"duration":"2:47"
						},
						{
							"TrackNumber": "2.",
							"link":"media/file_example_MP3_700KB.mp3",
							"song":"Gen2Track2",
							"songimgUrl": "music_imgs/availsound.png",
							"duration":"2:47"
						},
						{
							"TrackNumber": "3.",
							"link":"media/file_example_MP3_700KB.mp3",
							"song":"Gen2Track1",
							"songimgUrl": "music_imgs/availsound.png",
							"duration":"2:47"
						}
				]
			}
		}]

【问题讨论】:

  • 您拥有的是一个有效的 JSON。 “添加新专辑”是什么意思?
  • 我用codebeautify.org/jsonviewer检查了你的JSON对象,它看起来没问题。
  • 我有 2 个专辑示例。 imageUrl、艺术家、名称、发行和曲目对于所有这些都是不同的。稍后调用信息时我需要能够执行 ++ 等操作,但我的数组不会验证多个专辑。
  • 我将每个用于幻灯片索引并用点和下一个按钮推动每个专辑
  • 谢谢阿卜杜拉,但我在您的网站示例中收到错误:E2 ->错误:第 1 行解析错误:第 1 行解析错误 ^ 期待“字符串”、“数字”、“空”、 'TRUE','FALSE','{','[',得到'未定义'

标签: javascript json arraylist


【解决方案1】:

当您尝试在 JSONlint 中验证您的 JSON 时,请检查您是否正确复制了您的 json,或者不只是复制以方括号 [{...}] 内的值开头的 json,不要复制带有变量 var albumData= 的 json

如果您想在数组中添加新专辑,请使用以下方法添加新专辑

albumData.push({
            "album":
                {   
                    "imageUrl": "music_imgs/covers/genpx1.png",
                    "artist": "Gen1artist",
                    "name": "Gen1name",
                    "release":"released 2017",
                    "tracks":
                    [
                        {
                            "TrackNumber": "1.",
                            "link":"media/file_example_MP3_700KB.mp3",
                            "song":"Gen1Track1",
                            "songimgUrl": "music_imgs/availsound.png",
                            "duration":"2:47"
                        },
                        {
                            "TrackNumber": "2.",
                            "link":"media/file_example_MP3_700KB.mp3",
                            "song":"Gen1Track2",
                            "songimgUrl": "music_imgs/availsound.png",
                            "duration":"2:47"
                        },
                        {
                            "TrackNumber": "3.",
                            "link":"media/file_example_MP3_700KB.mp3",
                            "song":"Gen1Track1",
                            "songimgUrl": "music_imgs/availsound.png",
                            "duration":"2:47"
                        }
                ]
            }
        })

如果您的 albumData 是一个字符串 json,那么在添加值之前,您需要先将其解析为 javascript 对象。

albumData = JSON.parse(albumData);

然后将新专辑添加到使用albumData.push({..})

希望对你有所帮助;)

【讨论】:

  • 嗨 Bhargav,谢谢 ..我想我可能会以错误的方式处理这个问题。我不太确定如何将 push 方法与我的 html 和 javascript 的编写方式结合起来。我想我将发布一个更新的问题,解决我如何编写 javascript 部分,该部分包含在需要时添加 div 的部分。我希望这是有道理的。哈哈。我很新,正在努力学习最好最有效的方法,但担心我的技能缺乏。
  • 任何时候,不要担心错误会挑战你的技能
猜你喜欢
  • 2021-05-09
  • 1970-01-01
  • 1970-01-01
  • 2019-12-31
  • 2012-12-30
  • 2012-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多