来自服务器的带有引号和正则表达式的JSON

2024-03-29 06:12:15 发布

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

我正在分析一个搜索页面的服务器的工作方式(通过检查元素),我可以得出这样的结论:请求是通过一个以JSON为参数的POST发送的。 然后我用失眠来模拟同样的帖子(使用同样的参数)。它是成功的,但是响应JSON是以字符串的形式出现的,在JSON中,使用引号的变量现在改为使用\。你知道吗

JSON响应示例:

"{\"AudienceRefiner\":{\"ItemCount\":0}}"

我怎么能在Python上读这个呢?你知道吗


Tags: 字符串服务器json元素示例参数方式页面
2条回答

它只是一个转义字符,请考虑使用ast库将其解析为对象。你知道吗

literal_eval:

Safely evaluate an expression node or a Unicode or Latin-1 encoded string containing a Python literal or container display.

import ast
st = "{\"AudienceRefiner\":{\"ItemCount\":0}}"

obj = ast.literal_eval(st)
print (obj)
>>> {'AudienceRefiner': {'ItemCount': 0}}

有关它的更多信息,请阅读ast.literal_eval

我不知道你从哪里得到的"{\"AudienceRefiner\":{\"ItemCount\":0}}"我猜不是python而是webbrowser。不管怎样,只要使用json,如果json是在一个string对象中

import json
di = json.loads("{\"AudienceRefiner\":{\"ItemCount\":0}}")

相关问题 更多 >