python - Python - 将 dict 对象解析为变量以记录到数据库
问题描述
我正在尝试学习 Python 数据类型,但我一直在dict
解析。我有一个dict
对象如下:
{'0': {'Group Name': 'e', 'Inputs': {'0': {'DataName': 'fasd', 'DataType': 'data2'}}}, '1': {'Group Name': 's', 'Inputs': {'0': {'DataName': 'd', 'DataType': 'data1'}}}, '2': {'Group Name': 'g', 'Inputs': {'0': {'DataName': 'h', 'DataType': 'data1'}}}}
但我无法将其解析为groupname
和.dataname
datatype
我试过dictObj[iteratior]['Group Name']
了,但我看到我们不能在dict
对象中使用数字索引。所以我尝试dictObj['Group Name']
了,但没有奏效。正确的方法应该是什么?
我也尝试过它转换其他对象类型,但它也没有工作。
dictform像上面的结构一样来自前端的 JSON。
icformkey是要记录在其中的数据库查询集。
for group in dictForm:
if icformkey[iteration].level == 0:
SingleQuery = icformkey[iteration]
SingleQuery.name = group[str(iteration)]['Group Name']
print("grup name", group[str(iteration)]['Group Name'])
SingleQuery.full_clean()
SingleQuery.save()
print("group", group)
for input in group[str(iteration)]['Inputs']:
if icformkey[iteration].level == 1:
SingleQuery = icformkey[iteration]
print("single query",SingleQuery)
SingleQuery.name = input['DataName']
SingleQuery.datatype = input['DataType']
SingleQuery.full_clean()
SingleQuery.save()
iteration+=1
output = {'result': True, 'error': 0}
return JsonResponse(output, safe=False)
解决方案
您dict
有字符串作为键,因此您应该将数字索引转换为字符串:
dictObj['0']['Group Name'] # returns 'e'
要将整数索引转换为字符串,可以使用str
如下:
a = 3 # 3
string_a = str(a) # '3'
# for your object
dictObj[str(0)]['Group Name']
推荐阅读
- java - 生成签名的 apk 初始化时出错
- sip - 用于 SIP + SRTP 出站呼叫的 Freeswitch 拨号字符串
- azure - AMQP MessageTooLargeError:AMQP 传输:无法发送
- python - 遍历并行列表并将一个列表中的制表符分隔文本转换为另一个列表中的 csv 路径
- odoo-10 - ODOO 中单个 qweb 报告中的多个报价表
- javascript - 如何从 ClientSide javascript 将资产上传到 AWS presignedurl
- jenkins - Jenkinsfile 嵌套阶段抛出错误
- sql-server - 初始化 sqlcmd 库失败,错误号为 -2147467259
- r - 学生 t.test 中位数(不是平均值)
- mocha.js - 引诱报告忽略了多个跳过的摩卡测试