将键值对转换为Json

时间:2019-07-22 21:48:17

标签: python graphql

我尝试使用从Python接收到的某些数据,如下所示,其格式如下所示:

('ACTION_CODE', 'S')
('ARRIVAL_DATE', '03-JUL-19')
('BIT_FLAGS', '1082131456')
('CONFIG_DATA_SOURCE', 'SPT')

我已经使用下面的代码来获得以上结果:

print("Object length :", len(rv.value.items()))   #rv is database row and I am iterating across database columns for one row 
for k, v in (rv.value.items()):  # Iterate over the key value pairs
    kv = k, v
    print((kv))

我想获取JSON格式的数据kv以使用json.dumps(kv)...,其中kv是json.dumps函数可接受的格式。如何编写代码以获得kv? 请帮忙

还提到我将这些数据反馈给GraphQL,所以我对架构定义没有什么限制...

最终目标是使用json2obj(json.dumps(kv)):

def _json_object_hook(d):
    return namedtuple("X", d.keys())(*d.values())


def json2obj(data):
    return json.loads(data, object_hook=_json_object_hook)

2 个答案:

答案 0 :(得分:0)

没有更多数据,我在黑暗中有点编码,但这是我的建议:

result = {}

for k, v in rv.value.items():
    result[k] = v

json_data = json.dumps(result)
print(json_data)

编辑: 从现在开始,我在您的评论中看到rv.value已经包含一个字典,转换非常简单:

json.dumps(rv.value)

答案 1 :(得分:0)

在for循环之前声明它

dict = {}

在for循环中,将键值对添加到字典中

dict[key] = value

for循环转储后

json.dumps(dict)
import json
dict = {}
dict['a'] = 'b'
dict['c'] = 'd'
json.dumps(dict)

输出:'{“ a”:“ b”,“ c”:“ d”}'