Python解析带有空格分隔子字段的JSON值

2024-05-21 01:54:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要像这样解析JSON:

{
    "entity": " a=123455 b=234234 c=S d=CO e=1 f=user1 timestamp=null",
    "otherField": "text"
}

我想分别得到a,b,c,d,e,timestamp的值。有没有比将实体值赋给字符串,然后用正则表达式解析更好的方法?在


Tags: 方法字符串text实体jsonnulltimestampentity
2条回答

JSON标准没有为您解析该值的内容,您必须使用Python来完成。在

只在空白处拆分字符串,然后在=上拆分该字符串可能更容易:

entities = dict(keyvalue.split('=', 1) for keyvalue in data['entity'].split())

这将导致:

^{pr2}$

这个呢:

>>> 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'
>>>

相关问题 更多 >