2011-09-26 80 views
0

我想使用json库解析JSON。我执行的下面的代码块,而我得到的错误:尝试使用json库解析JSON时出错

Traceback (most recent call last): 
    File "test1.py", line 12, in <module> 
    parsedResponse = json.loads(data) 
    File "/usr/local/lib/python2.7/json/__init__.py", line 326, in loads 
    return _default_decoder.decode(s) 
    File "/usr/local/lib/python2.7/json/decoder.py", line 360, in decode 
    obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 
    File "/usr/local/lib/python2.7/json/decoder.py", line 378, in raw_decode 
    raise ValueError("No JSON object could be decoded") 
ValueError: No JSON object could be decoded 

的代码是:

import urllib, urllib2 
from django.utils import simplejson 
import json 

opener = urllib2.build_opener() 
requestURL = "http://api.shopstyle.com/action/apiSearch?pid=2254&fts=red+dress&min=0&count=10" 
data = opener.open(requestURL).read().decode('utf8') 
print data #this works 
parsedResponse = json.loads(data) 

我试图消除的read()解码(“utf-8”)和传球到json.load()中,但这也不起作用。我会很感激任何帮助:)

谢谢。

+1

什么是'打印data'的输出?这听起来像你收到的是无效的,或不正确的形成。 –

+0

我可以以某种方式在这篇文章中附加输出吗?这是一个非常长的输出:) – iman453

+1

调试101:'print repr(data)'(** do not **只是'打印数据'),然后复制/粘贴到您的问题的编辑。 –

回答

4

当您打印输出时,是否有这样的机会?

<SearchResult> 
<QueryDetails> 
<Category>womens-clothes</Category> 
<CategoryName>Clothing</CategoryName> 
<ShowSizeFilter>false</ShowSizeFilter> 
<ShowColorFilter>true</ShowColorFilter> 
... 

这是XML而不是JSON。

+0

呵呵。文档说它会返回JSON,并且我是网络编程的新手,所以我有点认为它是JSON。感谢:) – iman453

+3

一些快速谷歌搜索似乎表明,只要将'&format = json2'追加到该URL应该给你JSON,如果这是你想要的格式。 [This](http://api.shopstyle.com/action/apiSearch?pid=2254&fts=red+dress&min=0&count=10&format=json2)是您的代码段中的网址,但采用JSON格式。 –

+0

谢谢John!我感谢你的帮助(也感到有点愚蠢的张贴这...应该研究更多嘿) – iman453

1

是数据null? 数据不正确JSON?

从你的URL看来它的输出XML不是JSON寿。

,如果你可以张贴的data输出,这将有助于