Python jsonpath-ng : 如何从 json 路径和值构建 json 文档?

Python jsonpath-ng : How to build a json document from jsonpath and values?

在 python 中开发,我想从 json 路径和相应值的列表中创建一个 json 文档(树)。

例如从json路径

"$.orders[0].client" 

和一个值“acme”,它将创建:

{'orders':[{'client':'acme'}]}

然后,我应该能够在 json 文档中添加一个新节点,该节点位于另一个具有给定值的 json 路径指定的位置。 例如添加 jsonpath $.orders[0].orderid 和值“123”,这将导致更新 json 文档:

{'orders':[{'client':'acme', 'orderid' : 123}]}

我试图理解 jsonpath-ng 用于该目的,但我不明白我如何将它用于该目的(即使这是可能的也不明白)。

有人可以帮忙吗?

提前致谢,

此致,

洛朗

如果我正确理解你的问题,你是在要求 JSON 到 JSON 转换。 JSONPath 不是正确的工具。为此有专门的库,例如JSONBender。您可以像这样转换一些 JSON:

import json
from jsonbender import bend, K, S

MAPPING = {
    'client': S('orders', 0, 'client'),
    'orderid': S('orders', 0, 'orderid')
}

source = {
   "orders" : [
      {
         "orderid": 123,
         "client" : "acme"
      },
      {
         "orderid": 321,
         "client" : "two"
      }
   ]
}

result = bend(MAPPING, source)
print(json.dumps(result))

{"client": "acme", "orderid": 123}

您当然可以进一步弯曲结果,但更简单的输出可能效果更好。