Python 将键值对转换为Json

Python 将键值对转换为Json,python,graphql,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

我正在尝试使用我从数据库中收到的某些数据,在用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)):


如果没有更多的数据,我会在黑暗中编写一些代码,但这就是我的建议:

result = {}

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

json_data = json.dumps(result)
print(json_data)
编辑: 由于现在我在您的评论中看到rv.value已经包含一个字典,因此转换非常简单:

#rv.value.items = {'ACTION_CODE': 'S', 'ARRIVAL_DATE': '03-JUL-19', 'BIT_FLAGS': '1082131456', 'CONFIG_DATA_SOURCE': 'SPT'}
result = []
for key, value in rv.value.items():
    result.append({key : value})
print(result)
# Then the JSON conversion will be simple
json_data = json.dumps(result)
print(json_data)

在for循环之前声明它

dict = {}
在for循环中,向dict添加键值对

dict[key] = value
在for循环之后转储它

json.dumps(dict)
import json
dict = {}
dict['a'] = 'b'
dict['c'] = 'd'
json.dumps(dict)
输出:“{a:“b”,“c:“d”}”

编辑:根据所需的输出格式,以下是代码:

import json
dict1 = {'a':'b'}
dict2 = {'c':'d'}
result=[]
result.append(dict1)
result.append(dict2)
print(json.dumps(result))

Output: [{"a": "b"}, {"c": "d"}] 

您还可以添加rv.value的打印吗?在for循环中声明并填充
dict
数据结构。然后使用此
dict
在for循环之外使用
json.dumps(dict)
生成json。print(rv.value)返回如下:{'ACTION_code':'S','ARRIVAL_DATE':'03-JUL-19','BIT_FLAGS':'1082131456','CONFIG_DATA_SOURCE':'SPT'}
rv value
是一个字典,您只需执行
json.dumps(rv value)
无法使用json.dumps(rv.value),因为我必须获取一个列表,该列表由json2obj函数返回一个命名元组。抱歉,我已经编辑了laterjson.dumps(rv.value)已经给了我这个。。。我想我想要下面这样的字典列表:[{“ACTION_CODE”:“S”},{“ARRIVAL_DATE”:“03-JUL-19”},{“BIT_FLAGS”:“1082131456”}]在上面添加了代码。使用添加词典的列表并转储该列表。hey@Pitto。。json.dumps(rv.value)已经给了我作为{“动作代码”:“S”,“到达日期”:“03-JUL-19”,“位标志”:“1082131456”}。。。我想我希望这是GraphQL能够正确返回的字典列表:[{“ACTION_CODE”:“S”},{“ARRIVAL_DATE”:“03-JUL-19”},{“BIT_FLAGS”:“1082131456”}]@pauldx我已经理解了您的要求,我现在正在更新代码
import json
dict1 = {'a':'b'}
dict2 = {'c':'d'}
result=[]
result.append(dict1)
result.append(dict2)
print(json.dumps(result))

Output: [{"a": "b"}, {"c": "d"}]