Skip to main content
 首页 » 编程设计

Python Tuple to dict to JSON

2025年05月04日14mengfanrong

我的数据

(('check_kvserver_mem_4500000', 2737L),  
 ('check_ethstatus', 250L),  
 ('check_ddos', 229L),  
 ('check_coredump', 193L), 
 ('check_robot', 174L), 
 ('check_disk_90_95', 155L)) 

进入:print json.dumps(data)

[["check_kvserver_mem_4500000", 2737],  
 ["check_ethstatus", 250], 
 ["check_ddos", 229], 
 ["check_coredump", 193],  
 ["check_disk_90_95", 155]] 

我想要这样的数据

{["check_kvserver_mem_4500000", 2737], 
 ["check_ethstatus", 250] 
 ["check_ddos", 229],  
 ["check_coredump", 193],  
 ["check_disk_90_95", 155]} 

或

 {"check_kvserver_mem_4500000":2737, 
  "check_ethstatus":250, 
  "check_ddos":229,  
  "check_coredump":193, 
  "check_disk_90_95":155} 

请您参考如下方法:

您想要一个 JSON 对象作为结果,但您的数据没有键/值结构。所以 json.dumps(data) 在生成 JSON 列表而不是对象方面做的是正确的事情。无法在无效的 JSON 对象上匹配元组的 Python 元组。

编辑

在您更改问题后(并在执行此操作时删除了我的漂亮编辑),您的问题就可以得到回答。

data = (('check_kvserver_mem_4500000', 2737L), 
        ('check_ethstatus', 250L), 
        ('check_ddos', 229L), 
        ('check_coredump', 193L), 
        ('check_robot', 174L), 
        ('check_disk_90_95', 155L)) 
print json.dumps(dict(data)) 

结果是:

'{"check_disk_90_95": 155, "check_coredump": 193, "check_robot": 174, 
  "check_kvserver_mem_4500000": 2737, "check_ddos": 229, "check_ethstatus": 250}'