正在关注 Update json nodes in Python using jsonpath ,想知道如何在给定特定上下文的情况下更新 JSON 数据。 因此,假设我们选择完全相同的 JSON 示例:
{
"SchemeId": 10,
"nominations": [
{
"nominationId": 1
}
]
}
但是这一次,想要将原始值的值加倍,因此需要一些 lambda 函数来考虑当前节点值。
最佳答案
不需要 lambda;例如,要加倍 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
}
]
}
关于python - 使用 jsonpath-ng 在 Python 中使用上下文更新 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63287113/