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/

相关文章:

python - 如何让 Rabbitmq 队列以存储转发模式运行?

python - -1 在这段代码中是什么意思([file for file in os.listdir(folder_dir) if file.find ("xlsx") != -1])?

javascript - 从 JSON 对象创建 HTML

python - 在 Python 中获取生成器的第 n 项

python - python中的3D截锥

javascript - JSON解析和单引号

c# - 在 C# 中使用带有数字节点的 JSON.decode razor webhelper?

c# - 将 MS CRM 2011 插件执行上下文序列化为 JSON

javascript - console.log 循环 json 数据但不显示

python - 如何在pygame和pyopengl中独立旋转2个对象