如何将元组的python列表转换为json

时间:2016-04-07 11:23:46

标签: python json list tuples

我想将元组列表转换为json,但我的代码出了问题,因为我没有得到我期望的结果。

我已经问过这个问题,但是输入更简单,我无法使用它。

  

输入列表

<body>
    <div id="preloader">
        <div id="status">
            <h4>Loading...</h4> <!-- include your loading img here -->
        </div>
    </div>

    <h3>This is a body text</h3>
</body>

这是代码:我遍历列表result = [('a', 'company', '2', 2, 'myError'), ('c', 'company', '5', 7, 'myError'), ('b', 'tax', '23', 1, 'myError')] 并解开其中的元组并连接元组result

e
  

实际结果

e = ()
for element in result:
    e = e + ((element[1],
            (('uuid', str(element[0])),
            ('id', element[2]),
            ('error_id', element[3]),
            ('error_msg', element[4]))),)


logging.info(json.dumps(dict(e)))
  

预期结果

{
    "company": [
        ["id", "a"], 
        ["row", "2"], 
        ["err", 2], 
        ["msg", "myError"]
    ], 
    "tax": [
        ["id", "b"], 
        ["row", "23"], 
        ["err", 1], 
        ["msg", "myError"]
    ]
}

如何获得正确的json?

1 个答案:

答案 0 :(得分:3)

from collections import defaultdict

e = defaultdict(list)

for element in result:
    e[element[1]].append({'uuid': str(element[0]), 'id': element[2], 
    'error_id': element[3], 'error_msg': element[4]})

dict(e)会以所需的格式为您提供字典。