Another question about JSON

A

Anthony Papillion

Hello Again Everyone,

I'm still working to get my head around JSON and I thought I'd done so
until I ran into this bit of trouble. I'm trying to work with the
CoinBase API. If I type this into my browser:

https://coinbase.com/api/v1/prices/buy

I get the following JSON returned

{"subtotal":{"amount":"128.00","currency":"USD"},"fees":[{"coinbase":{"amount":"1.28","currency":"USD"}},{"bank":{"amount":"0.15","currency":"USD"}}],"total":{"amount":"129.43","currency":"USD"},"amount":"129.43","currency":"USD"}

So far, so good. Now, I want to simply print out that bit of JSON (just
to know I've got it) and I try to use the following code:

returnedJSON = json.loads('https://coinbase.com/api/v1/prices/buy')
print returnedString

And I get a traceback that says: No JSON object could be decoded. The
specific traceback is:

Traceback (most recent call last):
File "coinbase_bot.py", line 31, in <module>
getCurrentBitcoinPrice()
File "coinbase_bot.py", line 28, in getCurrentBitcoinPrice
returnedString = json.loads(BASE_API_URL + '/prices/buy')
File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded


I'm very confused since the URL is obviously returned a JSON string. Can
anyone help me figure this out? What am I doing wrong?

Thanks in advance!
Anthony


--
Anthony Papillion
XMPP/Jabber: (e-mail address removed)
OTR Fingerprint: 4F5CE6C07F5DCE4A2569B72606E5C00A21DA24FA
SIP: (e-mail address removed)
PGP Key: 0xE1608145
 
J

John Gordon

In said:
I'm still working to get my head around JSON and I thought I'd done so
until I ran into this bit of trouble. I'm trying to work with the
CoinBase API. If I type this into my browser:

I get the following JSON returned
{"subtotal":{"amount":"128.00","currency":"USD"},"fees":[{"coinbase":{"amount":"1.28","currency":"USD"}},{"bank":{"amount":"0.15","currency":"USD"}}],"total":{"amount":"129.43","currency":"USD"},"amount":"129.43","currency":"USD"}

So far, so good. Now, I want to simply print out that bit of JSON (just
to know I've got it) and I try to use the following code:
returnedJSON = json.loads('https://coinbase.com/api/v1/prices/buy')
print returnedString

JSON is a notation for exchanging data; it knows nothing about URLs.

It's up to you to connect to the URL and read the data into a string,
and then pass that string to json.loads().
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top