我需要像这样解析JSON:
{
"entity": " a=123455 b=234234 c=S d=CO e=1 f=user1 timestamp=null",
"otherField": "text"
}
我想分别获取a,b,c,d,e,timestamp的值。有没有比将实体值赋值给字符串更好的方法,然后用REGEX解析?
答案 0 :(得分:2)
JSON标准没有任何内容可以为您解析该值,您必须在Python中执行此操作。
将该字符串拆分为空格,然后在=
:
entities = dict(keyvalue.split('=', 1) for keyvalue in data['entity'].split())
这导致:
>>> data = {'entity': " a=123455 b=234234 c=S d=CO e=1 f=user1 timestamp=null"}
>>> dict(keyvalue.split('=', 1) for keyvalue in data['entity'].split())
{'a': '123455', 'c': 'S', 'b': '234234', 'e': '1', 'd': 'CO', 'f': 'user1', 'timestamp': 'null'}
答案 1 :(得分:0)
这个怎么样:
>>> dic = dict(item.split("=") for item in s['entity'].strip().split(" "))
>>> dic
>>> {'a': '123455', 'c': 'S', 'b': '234234', 'e': '1', 'd': 'CO', 'f': 'user1', 'timestamp':'null'}
>>> dic['a']
'123455'
>>> dic['b']
'234234'
>>> dic['c']
'S'
>>> dic['d']
'CO'
>>>