我遇到了Google无法为我解决的问题。
我了解json.loads(var.text)
将返回dict
,在某些情况下,它会归我所有。
假设数据如下:
{
"PROJECT_ID": 3351040882,
"common.ALLTYPES_DESCRIPTION": "",
"servermain.PROJECT_TITLE": "",
}
此数据将加载为dict
!
以下是作为列表加载的数据示例。
[
{
"PROJECT_ID": 3351040882,
"common.ALLTYPES_NAME": "AdvancedTags",
"common.ALLTYPES_DESCRIPTION": "",
"servermain.ALIAS_MAPPED_TO": "_AdvancedTags",
"servermain.ALIAS_SCAN_RATE_MILLISECONDS": 0
},
{
"PROJECT_ID": 3351040882,
"common.ALLTYPES_NAME": "Channel1__CommunicationSerialization",
"common.ALLTYPES_DESCRIPTION": "",
"servermain.ALIAS_MAPPED_TO": "Channel1._CommunicationSerialization",
"servermain.ALIAS_SCAN_RATE_MILLISECONDS": 0
},
]
根据我的研究,我了解第二个输出是list
dict
。是否有一些简单的函数可以将list
加载到dict
?
答案 0 :(得分:1)
看起来你在列表中只有一个字典。然后只需通过索引访问它:
json.loads(var.text)[0]
答案 1 :(得分:0)
我找到了修复,我确信有更好的方法,但这就是我做的。首先,我建立了一个列表和列表。然后我建立了一个字典并以这种方式加载了字典。
# List of lists and dicts
serverintlist = [project_info, aliases_info, channels_info]
serverintdict = {}
serverintdict['project'] = serverintlist[0]
serverintdict['alias'] = serverintlist[1]
serverintdict['channel'] = serverintlist[2]
print(type(project_info)) # <class 'dict'>
print(type(aliases_info)) # <class 'list'>
print(type(channels_info)) # <class 'list'>
print(type(serverintdict)) # <class 'dict'>