2

I wasn't able to serialize Twitter API results until I used jsonpickle (that's code A below), but then I wasn't able to decode the json file (code B below). Code A created one large json object. Please help.

Code A

#!/usr/bin/env python

import tweepy
import simplejson as json
import jsonpickle

consumer_key        = "consumer key here"
consumer_secret     = "consumer secret here"
access_token        = "access token here"
access_token_secret = "access token secret here"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth, parser=tweepy.parsers.ModelParser())

jsonFile = open('/location_here/results.json', 'wb')

for status in tweepy.Cursor(api.search, q="keyword").items():
    print status.created_at, status.text
    frozen = jsonpickle.encode(status)
    s = json.loads(frozen)
    json.dump(s, jsonFile)

Code B

import jsonpickle
import simplejson as json

in_file = open("/location_here/results.json")
out_file = open("/location_here/data.json", 'wb')

jsonstr = in_file.read()

thawed = jsonpickle.decode(jsonstr)

data = json.loads(thawed)

This gives an error, ValueError: Trailing data.

Thanks.

atr15
  • 21
  • 2

0 Answers0