簡體   English   中英

使用simplejson python閱讀JSON

[英]readingJSON with simplejson python

我使用urllib2發送url請求后嘗試讀取JSON。

我的代碼:

request = urllib2.Request("https://127.0.0.1:443/myAPI", data=form_data, headers=headers)
response = urllib2.open(request) 

所以問題是當我嘗試從響應對象讀取JSON時。 我正在那樣做

 simplejson.loads(response.read())

我得到的錯誤是:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/new/main3/python/simplejson/__init__.py", line 385, in loads
    return _default_decoder.decode(s)
  File "/opt/new/main3/python/simplejson/decoder.py", line 402, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/opt/new/main3/python/simplejson/decoder.py", line 420, in raw_decode
    raise JSONDecodeError("No JSON object could be decoded", s, idx)
simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0)

有趣的部分是,當我在firefox瀏覽器中發送請求時,我在url行輸入地址127.0.0.1/myAPI ,我的確在屏幕上看到了json,並且可以在調試模式下將其作為JSON {“主機”:[{“主機”:“ 127.0.0.1:4448”}]}

所以json是有效的。

在調試中,我得到此頁面:

    <!DOCTYPE html>
<html>
<head>
    <!-- framebusting -->
    <style>
        html{display : none ;}
    </style>
    <script type="text/javascript">
        if (self == top) {
            document.documentElement.style.display = "block";
        } else {
            top.location = self.location;
        }
    </script>
    <script type="text/javascript" src="js/detectBrowser.js"></script>
    <meta charset="utf-8"/>
    <link rel="StyleSheet" href="css/forensics.css" type="text/css" media="screen"/>
</head>
<body>
    <script type="text/javascript" src="libs/requirejs/require.js" data-main="js/login.js"></script>
</body>
</html>

有沒有人有某種方法來解決它,或者我怎么能直接從response對象讀取json文本,甚至在調試時查看它

感謝螞蟻的幫助,我嘗試至少3天來解決這個問題,謝謝。

我認為是因為這個simplejson.loads(response .read()) 您在response和.read()之間有一個空格

請嘗試以下操作:

request = urllib2.Request("https://127.0.0.1:443/myAPI", data=form_data, headers=headers)
response = urllib2.open(request) 
response_body = response.read()
response_body_json = simplejson.loads(response_body)

所以這是我的壞事,而api需要一個庫克。 添加Cookie標頭后,我收到了正確的JSON

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM