Python Tuple to dict to JSON

标签 python json dictionary

我的数据

(('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}'

关于Python Tuple to dict to JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11735119/

相关文章:

python - 导出后数据框中的日期字段删除前导 0

python - 如何在Python中分割文本文件并修改它?

java - E/ExoPlayerImplInternal : Source error com. google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException:响应代码:404

javascript - PHP json_encode 返回未转义的 '

java - Android StaggeredGrid中如何在Adapter中填充数据并加载到Gridview

c# - 如何计算 C# 中嵌套字典中 int 值的出现次数

dictionary - clojure 过滤嵌套映射以根据内部映射值返回键

python - 生产中的 Redis-Queue (RQ) 任务队列

python - Pylint UnicodeDecodeError utf-8 无法解码字节

java - 解析文件以制作游戏 map 时出现 NullPointerException