Python:无法从json获取数据并转换为lis

2024-06-16 10:46:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从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',.......]

Tags: importcomjsonhttp列表datagetexample
1条回答
网友
1楼 · 发布于 2024-06-16 10:46:46

如果没有返回有效的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)))

相关问题 更多 >