Python json在附加di列表时转储语法错误

2024-09-30 14:23:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个函数返回一个字典列表,我试图让json对它进行编码,当我尝试用第一个函数进行编码时,它就起作用了,但是现在我在第二个函数上附加了一个语法错误": expected"。我最终将添加总共7个函数,每个函数输出一个dict列表。有没有更好的方法来实现这一点?在

import dmidecode
import simplejson as json

def get_bios_specs():
    BIOSdict = {}
    BIOSlist = []
    for v in dmidecode.bios().values():
        if type(v) == dict and v['dmi_type'] == 0:
            BIOSdict["Name"] = str((v['data']['Vendor']))
            BIOSdict["Description"] = str((v['data']['Vendor']))
            BIOSdict["BuildNumber"] = str((v['data']['Version']))
            BIOSdict["SoftwareElementID"] = str((v['data']['BIOS Revision']))
            BIOSdict["primaryBIOS"] = "True"

            BIOSlist.append(BIOSdict)
    return BIOSlist

def get_board_specs():
    MOBOdict = {}
    MOBOlist = []
    for v in dmidecode.baseboard().values():
        if type(v) == dict and v['dmi_type'] == 2:
           MOBOdict["Manufacturer"] =  str(v['data']['Manufacturer'])
           MOBOdict["Model"] = str(v['data']['Product Name'])

           MOBOlist.append(MOBOdict)
    return MOBOlist


def get_json_dumps():
    jsonOBJ = json

    #Syntax error is here, i can't use comma to continue adding more, nor + to append.
    return  jsonOBJ.dumps({'HardwareSpec':{'BIOS': get_bios_specs()},{'Motherboard': get_board_specs()}})

Tags: 函数jsondatagetdeftypedictbios
2条回答

在嵌套词典中使用多个项。在

jsonOBJ.dumps({
    'HardwareSpec': {
        'BIOS': get_bios_specs(),
        'Motherboard': get_board_specs()
     }
})

如果您想要多个BIOS项或Motherboard项,只需使用一个列表。在

^{pr2}$

如果您想更方便地查找规范,只需嵌入dict:

jsonOBJ.dumps({'HardwareSpec':{'BIOS': get_bios_specs(), 
  'Motherboard': get_board_specs()
  }
})

相关问题 更多 >