Python 我该如何解决一个问题;JSONDecodeError:无法解码任何JSON对象:第1行第0列(字符0)";?

Python 我该如何解决一个问题;JSONDecodeError:无法解码任何JSON对象:第1行第0列(字符0)";?,python,json,twitter,simplejson,Python,Json,Twitter,Simplejson,我试图使用Python获取给定hashtag的TwitterAPI搜索结果,但我遇到了“无法解码JSON对象”错误。为了防止字符串格式错误,我不得不在URL末尾添加额外的%。这个JSON错误可能与额外的%有关,还是由其他原因引起的?如有任何建议,将不胜感激 片段: import simplejson import urllib2 def search_twitter(quoted_search_term): url = "http://search.twitter.com/searc

我试图使用Python获取给定hashtag的TwitterAPI搜索结果,但我遇到了“无法解码JSON对象”错误。为了防止字符串格式错误,我不得不在URL末尾添加额外的%。这个JSON错误可能与额外的%有关,还是由其他原因引起的?如有任何建议,将不胜感激

片段:

import simplejson
import urllib2

def search_twitter(quoted_search_term): 
    url = "http://search.twitter.com/search.json?callback=twitterSearch&q=%%23%s" % quoted_search_term
    f = urllib2.urlopen(url)
    json = simplejson.load(f)
    return json

您的初始代码有几个问题。首先,你从没有读过twitter的内容,只是打开了url。在url中设置第二个回调(twitterSearch)。回调所做的是将返回的json封装在函数调用中,因此在本例中,它应该是twitterSearch()。如果需要一个特殊的函数来处理返回的结果,这将非常有用

import simplejson
import urllib2

def search_twitter(quoted_search_term): 
    url = "http://search.twitter.com/search.json?&q=%%23%s" % quoted_search_term
    f = urllib2.urlopen(url)
    content = f.read()
    json = simplejson.loads(content)
    return json

答复的实际内容是什么?使用您的代码,您可以发现类似于
content=f.read()
。我使用了您的代码并尝试打印内容,但得到了相同的错误:JSONDecodeError:无法解码JSON对象:第1行第0列(char 0)函数pull\u tweets in twitter\u puller\u 1.py第28行data1=search\u twitter(query1)函数搜索_twitter in twitter_puller_1.py第14行json=simplejson.load(f)函数加载in untitled in第328行无函数加载in untitled in第384行无函数解码in untitled in第402行obj,end=self.raw_decode(s,idx=_w(s,0.end())函数raw_decode in untitled in第420行引发jsondecodecorr(“无法解码任何JSON对象”,s,idx)请参阅blcArmadillo的答案。您需要从对Twitter的请求中删除
回调
参数。类似于
url=”http://search.twitter.com/search.json?q=%s%quoted\u search\u term
应该有用。你说对了一半。实际的问题是
callback
参数,它导致Twitter返回
JSONP
,无法将其解析为JSON
。但是读取JSON的代码很好(它只是将类似文件的对象
f`直接传递给
simplejson.load()
函数,该函数接受类似文件的对象)。非常感谢您向我解释这一点,blcArmadillo和Will McCutchen!现在可以了:)