如何使用python objectpath修改深度嵌套的JSON值

时间:2019-03-07 09:37:24

标签: python json python-2.x objectpath

我有json数据,在其中我知道需要修改的嵌套键。但是,此json的上层将是动态的,并且始终不会有固定的路径来遍历此键。

JSON(为显示而被截断):

{
  "tables":[
    { 
      "columns":[
        { 
          "name":"latitude",
          "action":"some-action",
          "config":[
            { 
              "key":"KEY-NEW",
              "abc":"xxxxx",
            }
          ]
        }
      ]
    }
  ]
}

现在,我可以很容易地获得KEY-NEW的键值,如下所示:

>>> s = objectpath.Tree(tables_dict)
>>> s.execute('$..key')

>>> for i in x: print i
...
KEY-NEW

但是我在objectPath中看不到任何选项可以修改此json值吗?考虑到遍历['tables'][0]['columns'][0]['config'][0]['key']的路径不会总是固定的,我如何在上面的一种衬里中对其进行修改。索引可以从0更改为任意。

还有其他像objectPath这样的模块可以轻松实现吗?

0 个答案:

没有答案