解析此字符串的最佳方法?

时间:2018-12-26 05:35:47

标签: javascript python html

  

数据:   {\“ id \”:123,\“ channel \”:\“ private_A25BHd \”,\“ text \”:{\“ content \”:\“ {\\” m \\“:\\” event \ \“,\\” p \\“:{\\” id \\“:123123123,\\” aid \\“:125123123,\\” sym \\“:\\” BITMEX:XBTUSD \\“, \\“ res \\”:\\“ 1 \\”,\\“ desc \\”:\\“测试   第1行上的消息\\ n测试以下消息   line2 \\“,\\” snd \\“:false,\\” snd_file \\“:\\” alert \ / fired \\“,\\” snd_duration \\“:0.0,\\” popup \\ “:true,\\” fire_time \\“:123123,\\” bar_time \\“:123123,\\” cross_int \\“:true}} \”,\“ channel \”:\“ alert \”} }

不幸的是,它以字符串形式出现,尽管我希望在可能的情况下将其更改为字典。

2 个答案:

答案 0 :(得分:3)

在python中使用json库

import json

json.loads(your_string)

答案 1 :(得分:2)

您可以使用函数json.loads()通过导入json库将字符串解析为JSON对象(Python字典)。

代码:

import json

json_string = '{\"id\":123,\"channel\":\"private_A25BHd\",\"text\":{\"content\":\"{\\"m\\":\\"event\\",\\"p\\":{\\"id\\":123123123,\\"aid\\":125123123,\\"sym\\":\\"BITMEX:XBTUSD\\",\\"res\\":\\"1\\",\\"desc\\":\\"test message on line1\\ntest message on line2\\",\\"snd\\":false,\\"snd_file\\":\\"alert\/fired\\",\\"snd_duration\\":0.0,\\"popup\\":true,\\"fire_time\\":123123,\\"bar_time\\":123123,\\"cross_int\\":true}}\",\"channel\":\"alert\"}}'

parsed_string = json.loads(json_string)
print(parsed_string)

输出:

{'text': {'channel': 'alert', 'content': '{"m":"event","p":{"id":123123123,"aid":125123123,"sym":"BITMEX:XBTUSD","res":
"1","desc":"test message on line1\ntest message on line2","snd":false,"snd_file":"alert/fired","snd_duration":0.0,"popu
p":true,"fire_time":123123,"bar_time":123123,"cross_int":true}}'}, 'channel': 'private_A25BHd', 'id': 123}

&如果您只想打印任何特定值,可以使用

print(parsed_string["id"])

它输出id的{​​{1}}值