JSONDecodeError: Expecting value: line 1 column 1 (char 0) / While json parameter include

I’m trying to retrieve data from https://clinicaltrials.gov/ and althought I’ve specified the format as Json in the request parameter:

fmt=json

the returned value is txt by default.

As a consequence i’m not able to retrieve the response in json()

Good:

import requests
response = requests.get('https://clinicaltrials.gov/api/query/study_fields?expr=heart+attack&fields=NCTId%2CBriefTitle%2CCondition&min_rnk=1&max_rnk=&fmt=json')
response.text

Not Good:

import requests
response = requests.get('https://clinicaltrials.gov/api/query/study_fields?expr=heart+attack&fields=NCTId%2CBriefTitle%2CCondition&min_rnk=1&max_rnk=&fmt=json')
response.json()

Any idea how to turn this txt to json ?

I’ve tried with response.text which is working but I want to retrieve data in Json()

>Solution :

You can use following code snippet:

import requests, json
response = requests.get('https://clinicaltrials.gov/api/query/study_fields?expr=heart+attack&fields=NCTId%2CBriefTitle%2CCondition&min_rnk=1&max_rnk=&fmt=json')
jsonResponse = json.loads(response.content)

Leave a Reply