【发布时间】:2018-01-31 10:19:14
【问题描述】:
我征求意见。我需要创建一个具有相同键的 JSON 对象。这是向 zabbix 发送 host.create 请求所必需的。 https://www.zabbix.com/documentation/3.0/ru/manual/api/reference/host/create 如果您指定多个组,则仅接受
{"groupid": "2", "groupid": "8"}
不明白:
{"groupid": ["2","8"]}
我想使用一个结构。
[("groupid","2"),("groupid","8")]
我这样解决了问题,但是我不明白如何转换为JSON,因为键不是字符串
import json
from json import JSONEncoder
class SameKeys(JSONEncoder):
def __init__(self, name):
self.name = name
def __repr__(self):
return json.dumps(self.name)
data = [("groupid", "2"), ("groupid", "8")]
a = {SameKeys("groupid"): "2", SameKeys("groupid"): "8"}
print(a)
但我不明白如何做得更好以免拐杖,可能已经有现成的解决方案,但花了时间我没有找到合适的东西。谢谢你的建议
【问题讨论】:
-
{"groupid": "2", "groupid": "8"}不是有效的 pythondict -
这是不可能的。相同的键 = 不是字典
-
@VivekKalyanarangan 它是有效的,但它只保留最后一项
-
你可以试试两个字典的列表。
标签: python json python-3.x zabbix