关于推文结果的json.loads或json.load()

时间:2016-07-26 19:32:46

标签: json python-3.x twitter

我使用此代码从我在文件中写入的Feed中获取推文。 当我读取文件并尝试json这些行时,我总是会出现错误。

import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;

我用以下文件阅读了文件:

    def SearchTwt(api):
    os.chdir('/Users/me/Desktop')
    SearchResult = api.search( q='market',lang='en',rpp=20)
    text_file = open("TweetOut.txt", "w")
    for tw in SearchResult:
        text_file.write(str(tw))
        print(str(tw))
    text_file.close()

用str(tw)填充文件可能是错误的吗?是的,我在阅读期间重建字符串,因为我认为推文就是这样开始的。可能是另一个错误。

我尝试了很多其他选择。

错误:     从无提升JSONDecodeError("期望值",s,err.value) json.decoder.JSONDecodeError:期望值:第1行第1列(char 0)

文件以这样的方式开始(按堆栈的方式编辑了url): 状态(来源=' SocialFlow',id = 757991135465857024,in_reply_to_status_id =无,is_quote_status = False,entities = {' hashtags':[],' user_mentions':[ ],'符号':[],' urls':[{' url':'',' expanded_url&#39 ;:'',' display_url':

1 个答案:

答案 0 :(得分:2)

该文件无效JSON。它应该像

{
  "source": "SocialFlow",
  "id":"757991135465857024",
  ...
  "entities": {
    "hashtags": [], 
    "user_mentions": [],
    ...
  }
}

因为它是无效的json你要么用不同的方式解析它,要么在保存文件时一定把它写成json。