我通过Python中的API接收以下字符串:
{"id":13021,"buys":{"quantity":3494,"unit_price":257},"sells":{"quantity":3187,"unit_price":433}}
我可以通过"id"
可靠地隔离.find
字段,但"buys"
的{{1}}和"sells"
条目更难以恢复,因为它们不会#39} ; t共享唯一标识符。我最好用正则表达式解析整个事情,还是Python提供了一个更简单的解决方案来访问所需的子字符串?
答案 0 :(得分:1)
您的输入数据是JSON。在这种情况下使用regexp是过度的。您可以将其转换为dict
并像
import json
instr = '{"id":13021,"buys":{"quantity":3494,"unit_price":257},"sells":{"quantity":3187,"unit_price":433}}'
injs = json.loads(instr)
injs["buys"]
Out[62]: {'quantity': 3494, 'unit_price': 257}
答案 1 :(得分:1)
>>> from ast import literal_eval
>>> a = instr = '{"id":13021,"buys":{"quantity":3494,"unit_price":257},"sells":{"quantity":3187,"unit_price":433}}'
>>> b=literal_eval(a)
>>> b['sells']
{'unit_price': 433, 'quantity': 3187}
>>>