使用Jmespath-Python从json中获取值



我正在尝试获取&quot_tradeIdScheme":"mhi:MUREX">

例如"#值":"37066751">

JSON的一部分:

"trade": {
"tradeHeader": {
"partyTradeIdentifier": [{
"tradeId": [{
"#value": "5fbbc10b32a3adbcc7bb6fc0",
"_tradeIdScheme": "mhi:trade-id",
"_xsi:type": "TradeId"
}, {
"#value": "37066751",
"_tradeIdScheme": "mhi:MUREX",
"_xsi:type": "TradeId"
}
}]
}]

我正在尝试这样做,但它只返回一个值,我需要获取所有值。

filepath = jsonEod + "\" + "MHEUeodTrades.json" 
f_open = open(filepath).read().replace("n", "")
json_obj = json.loads(f_open, strict=False)
for doc in json_obj:
tradeId = jmespath.search( "trade.tradeHeader.partyTradeIdentifier[].tradeId[?_tradeIdScheme == 
'mhi:MUREX']",doc,)
list_mx.append(tradeId)

有人知道我的哪一段路错了吗?

for file in cdwEodTrades:  # i,
filepath = jsonEod + "\" + file  #
f_open = open(filepath).read().replace("n", "")
json_obj = json.loads(f_open, strict=False)
for doc in json_obj:
tradeId = jmespath.search("trade.tradeHeader.partyTradeIdentifier[]", doc)
for i, x in enumerate(tradeId):  # iterate over number of partyTradeIdentifier
mxId = jmespath.search(
f"trade.tradeHeader.partyTradeIdentifier[{i}].tradeId[?_tradeIdScheme == 'mhi:MUREX']",
doc,
)[0]["#value"]
list_mx.append(mxId)
)
list(set(list_mx))

相关内容

  • 没有找到相关文章

最新更新