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

原文 标签 python json

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

最佳答案

你没有返回一个有效的 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)))

关于Python:无法从 json 获取数据并转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42617128/

相关文章:

c++ - 静态编译 Python 解释器?

python - 以10为底的int的无效文字-用户不选择任何选项时

python GC - 引用计数仅在 gc.collect() 时有效?

javascript - 带有用户生成内容的菜单选项

c# - 从高音扬声器到 C# 格式的 JSON 日期

javascript - 将json数据从两个对象编辑为一个对象

java - 如何遍历复杂的 JSON 并放入 Map?

python - pycparser如何读取C代码文件中包含的头文件?

python - 从python列表中获取索引

javascript - 在 json 对象中返回数据