从HTTP响应解析Json字符串

2024-06-25 22:34:04 发布

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

我试图用Python解析来自HTTP请求的JSON响应。但我有以下例外:

 ValueError: No JSON object could be decoded

Python代码:

^{pr2}$

JSON响应:

{
   "count":1,
   "entries": 
   [
      {
         "id":15862,
         "application":loginAudit,
         "user":charan.kumar@speridian.com,
         "time":"2014-10-30T02:08:14.103-04:00",
         "values":
         {
                 "\/loginAudit\/login\/no-error\/user":"charan.kumar@speridian.com"
         }

      }
   ]
}

Tags: nocomjsonhttpobjectbecoulddecoded
1条回答
网友
1楼 · 发布于 2024-06-25 22:34:04

我在这里看到了几个问题,但最突出的两个问题是:

  1. 您正在使用BeautifulSoup解析页面。如果您真正收到的只是您发布的类似JSON的文本,beauthoulsoup将无法解析它。即使没有抛出错误,输出也将是某种形式的HTML,而不是JSON。

  2. 您显示的页面实际上不是有效的JSON。application和{}的值根本没有被引用。

我也有点困惑,为什么你要用硒来获得回应。除非在特定的页面上执行JavaScript(您确实可以使用真正的浏览器来执行它),否则看起来就像是在使用推土机来尝试破解一个螺母。在

使用标准库工具(urllib2或{},具体取决于Python版本)应该足够了,也许只需要设置几个显式的HTTP头。就个人而言,我会将^{} module用于类似的任务;它甚至带有内置的JSON处理。在

相关问题 更多 >