使用jsonpathng在Python中使用上下文更新json数据

2024-06-10 03:49:41 发布

您现在位置:Python中文网/ 问答频道 /正文

Update json nodes in Python using jsonpath之后,我想知道在给定特定上下文的情况下如何更新JSON数据。 因此,假设我们选择完全相同的JSON示例:

{
    "SchemeId": 10,
    "nominations": [
        {
            "nominationId": 1
        }
    ]
}

但这一次,希望将原始值加倍,因此需要一些lambda函数来考虑当前节点值


Tags: 数据lambda函数injson示例情况update
1条回答
网友
1楼 · 发布于 2024-06-10 03:49:41

不需要lambdas;例如,要将SchemeId加倍,类似这样的操作应该有效:

data = json.loads("""the json string above""")
jsonpath_expr = parse('$.SchemeId')
jsonpath_expr.find(data)
val = jsonpath_expr.find(data)[0].value
jsonpath_expr.update(data, val*2)
print(json.dumps(data, indent=2))

输出:

{
  "SchemeId": 20,
  "nominations": [
    {
      "nominationId": 1
    }
  ]
}

相关问题 更多 >