Python,字符串到JSON?

2024-10-01 00:31:03 发布

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

在Fedora 17 64位中使用Netfaces和json导入。在

我试图用JSON来获取这种格式

"net_info" : [
            {"nic" : ..., "mac" : ..., "ip" : ...},
            {"nic" : ..., "mac" : ..., "ip" : ...},
            {"nic" : ..., "mac" : ..., "ip" : ...},
            ]

我当前使用的是string并将其附加到它之后,我得到了:

"'net_info': [{'nic':eth0,'mac':6c:f0:49:0f:e1:c2,'ip':192.168.1.116},]"

由于每个字符串的开头和结尾都有引号,这可能行不通;有没有更好的方法来实现这一点?我在考虑使用一个字典列表,但最终还是先尝试了字符串,不确定在这种情况下什么是最好的。在

我的代码包含3个列表:

^{pr2}$

Tags: 字符串ipinfojson列表stringnetmac
1条回答
网友
1楼 · 发布于 2024-10-01 00:31:03

只需使用包含的list创建一个pythondict,然后将这个一次性转储到JSON:

def json_serialize(ip, mac, nic):
    net_info = []
    for ipaddr, macaddr, nicname in zip(ip, mac, nic):
        net_info.append({
            'interface_name': nicaddr,
            'mac': macaddr,
            'ip': ipaddr
        })
    return json.dumps({'net_info': net_info})

您所需的输出格式似乎缺少外部的{}方括号,以将其标记为正确的JSON对象。如果您真的需要生成输出(因此缺少这些括号),只需再次删除它们:

^{pr2}$

相关问题 更多 >