javascript - 需要关于解析多级 JSON 的帮助
问题描述
我的 JSON 数据
var verses = '[{"ChapterNumber":1,"Verses":[{"VersesNumber":1,"Verses":"Text Come here 1"},{"VersesNumber":2,"Verses":"Text Come here 2"},{"VersesNumber":3,"Verses":"Text Come here 3"},{"VersesNumber":4,"Verses":"Text Come here 4"},{"VersesNumber":5,"Verses":"Text Come here 5"},{"VersesNumber":6,"Verses":"Text Come here 6"},{"VersesNumber":7,"Verses":"Text Come here 7"},{"VersesNumber":8,"Verses":"Text Come here 8"},{"VersesNumber":9,"Verses":"Text Come here 9"},{"VersesNumber":10,"Verses":"Text Come here 10"},{"VersesNumber":11,"Verses":"Text Come here 11"},{"VersesNumber":12,"Verses":"Text Come here 12"},{"VersesNumber":13,"Verses":"Text Come here 13"},{"VersesNumber":14,"Verses":"Text Come here 14"},{"VersesNumber":15,"Verses":"Text Come here 15"},{"VersesNumber":16,"Verses":"Text Come here 16"},{"VersesNumber":17,"Verses":"Text Come here 17"},{"VersesNumber":18,"Verses":"Text Come here 18"},{"VersesNumber":19,"Verses":"Text Come here 19"},{"VersesNumber":20,"Verses":"Text Come here 20"},{"VersesNumber":21,"Verses":"Text Come here 21"},{"VersesNumber":22,"Verses":"Text Come here 22"},{"VersesNumber":23,"Verses":"Text Come here 23"},{"VersesNumber":24,"Verses":"Text Come here 24"},{"VersesNumber":25,"Verses":"Text Come here 25"}]}]'
我尝试 JSON.Parse
var Obj = JSON.parse(verses);
for (var i = 0; i < Obj.length; i++) {
if (Obj[i].ChapterNumber === ChapterNumber) {
console.log(Obj[i].ChapterNumber);
}
}
这项工作非常适合获得第一个节点,但无法获得第二个节点或 reed 节点我也尝试将其作为测试代码
console.log(Obj[i].ChapterNumber.Verses)
但没有成功,任何人都可以给我一个提示。
解决方案
尝试这个:
let chapter = '[{"ChapterNumber":1,"Verses":[{"VersesNumber":1,"Verses":"Text Come here 1"},{"VersesNumber":2,"Verses":"Text Come here 2"},{"VersesNumber":3,"Verses":"Text Come here 3"},{"VersesNumber":4,"Verses":"Text Come here 4"},{"VersesNumber":5,"Verses":"Text Come here 5"},{"VersesNumber":6,"Verses":"Text Come here 6"},{"VersesNumber":7,"Verses":"Text Come here 7"},{"VersesNumber":8,"Verses":"Text Come here 8"},{"VersesNumber":9,"Verses":"Text Come here 9"},{"VersesNumber":10,"Verses":"Text Come here 10"},{"VersesNumber":11,"Verses":"Text Come here 11"},{"VersesNumber":12,"Verses":"Text Come here 12"},{"VersesNumber":13,"Verses":"Text Come here 13"},{"VersesNumber":14,"Verses":"Text Come here 14"},{"VersesNumber":15,"Verses":"Text Come here 15"},{"VersesNumber":16,"Verses":"Text Come here 16"},{"VersesNumber":17,"Verses":"Text Come here 17"},{"VersesNumber":18,"Verses":"Text Come here 18"},{"VersesNumber":19,"Verses":"Text Come here 19"},{"VersesNumber":20,"Verses":"Text Come here 20"},{"VersesNumber":21,"Verses":"Text Come here 21"},{"VersesNumber":22,"Verses":"Text Come here 22"},{"VersesNumber":23,"Verses":"Text Come here 23"},{"VersesNumber":24,"Verses":"Text Come here 24"},{"VersesNumber":25,"Verses":"Text Come here 25"}]}]'
chapter = JSON.parse(chapter);
for (var i = 0; i < chapter.length; i++) {
console.log('Chapter number: '+chapter[i].ChapterNumber);
for (var n = 0; n < chapter[i].Verses.length; n++) {
let verse = chapter[i].Verses[n];
console.log('Verse number: '+verse.VersesNumber);
console.log('Verse: '+verse.Verses);
}
}
推荐阅读
- angular - 如何使 cdk 虚拟滚动 itemSize 自动或按条件更改
- flutter - 不使用 'required' 时,参数不能有 null 值
- javascript - 如何在不填充全屏的情况下使chrome全流血?
- windows - microsoft visual c++ 2015 redistributable 未安装
- php - 用于验证员工 ID 的正则表达式
- reactjs - 将私有路由设置为父布局以防止“uid”未定义
- php - 连接到第三方域:端口不在实时服务器上工作,但在本地主机、邮递员(网络、应用程序)和终端上工作
- matlab - Salp Swarm 算法 (SSA) 与 (SVM)
- amp-html - AMP HTML - 如何阻止特定机器人(semrush、ahrefs)
- reactjs - Material-ui v5 - DataGrid 组件在哪里?(如何在 material-ui v5 中安装 DataGrid 组件?)