找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1836|回复: 3

[求助] 通过列表遍历获取json值

1

主题

2

帖子

2

积分

贫民

积分
2
andy123 发表于 2019-6-13 19:57:32 | 显示全部楼层 |阅读模式
各位大牛,初来贵地寻求帮助
已知 data 如下:
  1. data = {
  2.     "glossary": {
  3.         "title": "example glossary",
  4.         "GlossDiv": {
  5.             "title": "S",
  6.             "GlossList": {
  7.                 "GlossEntry": {
  8.                     "ID": "SGML",
  9.                     "SortAs": "SGML",
  10.                     "GlossTerm": "Standard Generalized Markup Language",
  11.                     "Acronym": "SGML",
  12.                     "Abbrev": "ISO 8879:1986",
  13.                     "GlossDef": {
  14.                         "para": "A meta-markup language, used to create markup languages...",
  15.                         "GlossSeeAlso": ["GML", "XML"]
  16.                     },
  17.                     "GlossSee": "markup"
  18.                 }
  19.             }
  20.         }
  21.     }
  22. }
复制代码


list 的结构的paths 如下:
  1. paths=[['glossary'],
  2. ['glossary', 'title'],
  3. ['glossary', 'GlossDiv'],
  4. ['glossary', 'GlossDiv', 'title'],
  5. ['glossary', 'GlossDiv', 'GlossList'],
  6. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry'],
  7. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'ID'],
  8. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'SortAs'],
  9. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossTerm'],
  10. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'Acronym'],
  11. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'Abbrev'],
  12. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossDef'],
  13. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossDef', 'para'],
  14. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossDef', 'GlossSeeAlso'],
  15. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossDef', 'GlossSeeAlso', 0],
  16. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossDef', 'GlossSeeAlso', 1],
  17. ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossSee']]
复制代码


paths 为解析json生成的列表路径,怎么通过遍历 paths 输出data中的每个值?
例如将paths 里面的值转换为
例如:
for path in paths:
      ???
['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'SortAs'] 怎么转换成data[path[0]][path[1]][path[2]][path[3]][path[4]]?
回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-6-13 22:36:32 | 显示全部楼层
本帖最后由 sheeboard 于 2019-6-13 23:01 编辑

paths中有几个list的长度都是4,所以我觉得用你的方法不太合适。
参考一下
Screenshot from 2019-06-13 23-00-54.png
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
andy123  楼主| 发表于 2019-6-14 06:26:15 | 显示全部楼层
我现在是有很多json,要依次改很多json里面的字段值,所以想用到paths去保存路径,然后依次改值。
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-6-14 10:15:44 | 显示全部楼层
给两个测试用json,要改什么字段,改成什么值你写一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表