如何创建这种类型的json

时间:2019-09-07 12:09:50

标签: json django python-3.x

我有一个类似

的元组
mytuple = ('somevalue', 99999, 'jjj', 99)

从这个元组中我想像

{
"key1":'somevalue',
"key2":'99999,
"key3":'jjj',
"key4":99
}

键的数量不是恒定的,它们可以更改,键的值和数量也等于对象的数量

我尝试过

data = {}
        for i in range(0,maxLen):
            key = keydata[0][i]
            value = valuedata[0][i]
            data[key] = data[value]

我在创建json时遇到关键错误

1 个答案:

答案 0 :(得分:0)

您可以使用enumerate(..)获取索引。因此,我们可以构建一个像这样的字典:

{ 'key{}'.format(i): v for i, v in enumerate(mytuple, 1) }

然后我们可以使用json.dumps来检索JSON blob:

>>> json.dumps({ 'key{}'.format(i): v for i, v in enumerate(mytuple, 1) }) 
'{"key1": "somevalue", "key2": 99999, "key3": "jjj", "key4": 99}'

请注意,您提供的JSON无效,因为JSON字符串被双引号引起来(所以"…"),而且您的99999也有单引号(' ) 在前。例如,您可以使用jsonlint之类的服务对此进行验证。有效的JSON Blob例如:

{
    "key1": "somevalue",
    "key2": 99999,
    "key3": "jjj",
    "key4": 99
}

除了格式化外,它与这里构造的相同,但是,例如,当您获取数据时,仅开销。