python - 无法解析 JSON 文件和设计查询中的值
问题描述
这是我试图解析的 JSON 文件。
查询输出参数将由另一个实例填充此数据结构是否正确。
提前致谢 !!
{
"bpu_add": [
{
"input_parameters": {
"command_name" : "bpu_add"
},
"output_parameters": {
"bpu_id" : "",
"ran_ip" : "",
"ue_ip" : ""
}
}
]
}
这是我读取这个 JSON 文件的代码
import json
from pprint import pprint
with open('bpu_add.json') as f:
data = json.load(f)
pprint(data)
data["bpu_add"]["input_parameters"]["command_name"]
ddata["bpu_add"]["output_parameters"]["bpu_id"]
data["bpu_add"] ["output_parameters"]["ran_ip"]
data["bpu_add"] ["output_parameters"]["ue_ip"]
错误
{u'bpu_add': [{u'input_parameters': {u'command_name': u'bpu_add'}, u'output_parameters': {u'bpu_id': u'', u'ran_ip': u'', u'ue_ip': u''}}]} Traceback (most recent call last): File "grpcHandler.py", line 9, in <module> data["bpu_add"]["input_parameters"]["command_name"] TypeError: list indices must be integers, not str
解决方案
使用索引来访问密钥。“bpu_add”是一个列表。
前任:
data = {
"bpu_add": [
{
"input_parameters": {
"command_name" : "bpu_add"
},
"output_parameters": {
"bpu_id" : "",
"ran_ip" : "",
"ue_ip" : ""
}
}
]
}
print( data["bpu_add"][0]["input_parameters"]["command_name"] )
print( data["bpu_add"][0]["output_parameters"]["bpu_id"] )
print( data["bpu_add"][0]["output_parameters"]["ran_ip"] )
print( data["bpu_add"][0]["output_parameters"]["ue_ip"] )
输出:
bpu_add
推荐阅读
- python - Pyenv本地配置问题
- c# - .Net.Mail 不使用交换 SMTP 引发异常
- angular - 具有 Angular 7 多语言支持的 asp.net 核心 web api
- typescript - 键入类属性的 keyof
- postgresql - Amazon aurora postgres serverless:数据库返回超过允许的响应大小限制
- javascript - 如何使用 Express 后端向用户呈现反应页面?
- r - R如何根据2个条件修改数据框中的条目
- google-cloud-platform - 如何将文件从服务器上传到 Cloud Storage 存储分区?
- android - 自动填写不带国家代码的电话号码
- python - 根据熊猫中的今天日期和其他条件过滤数据框