我需要从json页面获取数据并将其转换为列表。
import json
import requests
j = requests.get('http://www.example.com/Portals/0/StaticData/data.js')
abc = json.loads(j.content)
但是,发生了错误
ValueError: No JSON object could be decoded
我需要的是
mylist = ['AALI','ABBA','ABDA'.......]
mylist1 = ['Astra Agro Lestari Tbk','Mahaka Media Tbk','Asuransi Bina Dana Arta Tbk',.......]
答案 0 :(得分:2)
您没有返回有效的JSON,您可以在使用json
模块阅读之前对其进行清理:
js = j.content.decode("utf-8").split("=")[-1].strip().strip(';')
json.loads(js)
#[{'code': 'AALI', 'name': 'Astra Agro Lestari Tbk'},
# {'code': 'ABBA', 'name': 'Mahaka Media Tbk'},
# {'code': 'ABDA', 'name': 'Asuransi Bina Dana Arta Tbk'},
# {'code': 'ABMM', 'name': 'ABM Investama Tbk'},
# {'code': 'ACES', 'name': 'Ace Hardware Indonesia Tbk'},
# ...
将结果解压缩到两个列表中:
mylist, mylist1 = zip(*((d['code'], d['name']) for d in json.loads(js)))