在 Fedora 17 64bit 中同时使用 netifaces 和 json 导入。
我正在尝试以 JSON 格式获取这种格式
"net_info" : [ {"nic" : ..., "mac" : ..., "ip" : ...}, {"nic" : ..., "mac" : ..., "ip" : ...}, {"nic" : ..., "mac" : ..., "ip" : ...}, ]
我目前正在使用 astring
并且只是附加到它,我得到了这个:
"'net_info': [{'nic':eth0,'mac':6c:f0:49:0f:e1:c2,'ip':192.168.1.116},]"
由于每个字符串开头和结尾的引号,这可能不起作用;有没有更好的方法来做到这一点?我当时正在考虑使用字典列表,但最终还是先尝试了字符串,不确定在这种情况下什么是最好的。
这是我的代码,包含 3 个列表:
def json_serialize(ip=[],mac=[],nic=[]):
jsonDump = "'net_info': ["
for i,item in enumerate(ip):
jsonDump += "{'interface_name':" + nic[i] +",'mac':"
+ mac[i] + ",'ip':" + ip[i] +"},"
jsonDump += "]"
print jsonDump.strip()
#Testing output after its passed in to json.dumps(), it now has quotes at beginning
#and end of string...?
print "\n"
print json.dumps(jsonDump)