python - 如何使用python解析json数据?
问题描述
一段时间以来,我一直在搞乱 JSON。我想使用python以这种格式获取“box”和“text”的值,有人可以帮我解决这个示例输出:[92,197,162,215,AUTHORS,...!]
{ "form": [ { "box": [ 92,162,197,215], "text": "AUTHORS", "label": "question", "words": [ { "box": [ 92,197,162,215 ],"text": "AUTHORS"} ], "linking": [[0,13]],"id": 0 },
import os
import json
# Directory name consisting of json
file = open('033.json')
data = json.load(file)
result = []
for value in data['form']:
my_dict=[]
my_dict=value.get('box')
print(my_dict)
result.append(my_dict)
解决方案
好的,您的代码几乎没有问题-
为什么你的名单被命名
my_dict
?名称应该表明对象是什么/它包含什么。您的名字恰恰相反,如果将来有人使用该代码,那么很可能会使他们感到困惑。为什么要在执行此操作之前初始化列表
value.get('box')
?
至于解决方案,它是一小段代码,需要 2 行代码。
result = []
for form_dict in data['form']:
result.append(tuple(form_dict[key]
for key in ('box', 'text') if key in form_dict))
那段代码将导致:[([92, 162, 197, 215], 'AUTHORS')]
根据您提供的数据。
这是假设data['form']
列表中可以有更多项目,否则for
不需要循环。
推荐阅读
- mysql - centos中的mariadb远程连接失败
- javascript - GWT:使用纯 javascript 提取 textarea 值
- php - 多维数组上的 PHP array_merge
- eclipse - 我们可以从eclipse访问docker镜像、容器吗
- linux - 我推入 GITLAB 时出错(RPC 失败;HTTP 500 curl 22 The requested URL returned error: 500 Internal Server Error)
- spring-boot - 代号一个带有springboot服务器的RPC库
- python - Python包/函数使用地理坐标获取另一个多边形中一个多边形覆盖的百分比面积
- entity-framework - 您的目标项目“XXX”未引用 EntityFramework
- c# - 使用评分将大型数据集映射到类别
- python - 计算 tensorflow.data.Datset 元素的最快方法是什么?