【发布时间】:2019-07-23 21:33:45
【问题描述】:
我正在尝试使用从数据库中收到的某些数据,格式如下,在 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 function 可接受的格式。如何编写代码来获取 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)
【问题讨论】:
-
能否请您也添加 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 函数返回命名元组的列表。 .对不起,我稍后编辑了