Popcorn Sutton Posted May 14, 2014 Posted May 14, 2014 I don't understand why this is happening. On my own PC, my program works flawlessly. It's using the TwitterAPI to find data specifically useful for my industry. Like I said, it works fine on my own PC, but I'm trying to set it up on the server right now and I keep getting this message- Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> Tweeter() File "C:\Python27\lib\site-packages\Tweeter.py", line 16, in Tweeter for item in s.get_iterator(): File "C:\Python27\lib\site-packages\TwitterAPI\TwitterAPI.py", line 198, in __iter__ yield json.loads(item.decode('utf-8')) File "C:\Python27\lib\json\__init__.py", line 338, in loads return _default_decoder.decode(s) File "C:\Python27\lib\json\decoder.py", line 365, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Python27\lib\json\decoder.py", line 383, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded I've tried looking into it already, and I've probably spent 2 hours now trying to fix the issue, but I'm running out of resources because the ones I am seeing aren't coherent to me. 1
pzkpfw Posted May 14, 2014 Posted May 14, 2014 Is the content of the JSON good? Maybe in the server environment (due to firewalls or whatever - something different to your own PC) you're getting an error message back instead of well formed JSON data? Can you dump/print/save the raw JSON before trying to decode? 1
Sensei Posted May 14, 2014 Posted May 14, 2014 These paths are Windows-like. Server is Windows? I don't think so.. They're rather Linux-based..
Popcorn Sutton Posted May 14, 2014 Author Posted May 14, 2014 (edited) The server is windows, and thanks for pointing out the firewall issue, that may actually be the solution. I'll check into it >>> import json >>> print json.dumps('\\') "\\" >>> json.loads('\\') Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> json.loads('\\') File "C:\Python27\lib\json\__init__.py", line 338, in loads return _default_decoder.decode(s) File "C:\Python27\lib\json\decoder.py", line 365, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Python27\lib\json\decoder.py", line 383, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded >>> json.loads('"\\"foo\\bar"') u'"foo\x08ar' The firewall is not the solution, at least not on my end. Edited May 14, 2014 by Popcorn Sutton 1
Sensei Posted May 14, 2014 Posted May 14, 2014 (edited) That looks like similar issue to yours: http://stackoverflow.com/questions/8011692/valueerror-in-decoding-json http://stackoverflow.com/questions/16018780/decoding-json-with-python Edited May 14, 2014 by Sensei
Popcorn Sutton Posted May 14, 2014 Author Posted May 14, 2014 >>> r = api.request('search/tweets', {'q':'pizza'}) >>> for item in r.get_iterator(): print (item['text'] if 'text' in item else item) IF YOU FOLLOW ME I'LL BRING YOU PIZZA OK #AlfieWantsFood 18 Awkward missing the guy delivering pizza to the flat because we were having a planking competition @butch_1983 yeah Pizza Hut RT @Michael5SOS: "excuse me can I have a photo?" lol @Harry_Styles http://t.co/ljfU7uH7lU RT @stephshuley_22: Boys aren't worth crying over honestly hey just eat some pizza and you'll be good @PointlessBlog You followed dominos pizza lol #AlfieWantsFood pizza pizza pizza RT @bucaloubaby: Pizza is in the shape of the food pyramid so can I just eat it all the time? @dkf__ come over and let's go to pizza King Me comi una pizza, mexicana, hawaiana y de peperoni, estaba mas buena RT @Alyssamcdonald5: Craving pizza 24/7 @ilooklloyd pizza Someone give me a pizza @PointlessBlog #AlfieWantsFood @Dominos_UK could you slip a pizza to alfie? @PointlessBlogTv preferably tuna&sweetcorn stuffed crust :Dxxx “@ChloeDeCuyper01: Ik wil dat ge nu bij mij zijt en dat we samen pizza eten terwijl we een film zien ” @LiseLecocq RT @feloquence: En pizza skulle sitta fint The search works, but streaming from our location returns the error. I am absolutely stumped on this one. It works just fine on my own PC but not on the server.
pzkpfw Posted May 15, 2014 Posted May 15, 2014 Is there an encoding (or encoding of encoding) issue? \\bar ... in the call seems to emit as: \x08ar ... that is, the second backslash is being treated as an escape sequence. (The combinations of double-quotes inside the single-quotes also look weird to me.)
Popcorn Sutton Posted May 15, 2014 Author Posted May 15, 2014 When it works on my PC there is a bit of an encoding issue but I don't think that that is the problem. I've tried using different quotes as well but at this point I'm thinking that it's an os issue which is unfortunate
AtomicMaster Posted June 4, 2014 Posted June 4, 2014 I bet its a UTF-8 issue, try simplejson sir, its a much better library. (you can install it through pip or apt)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now