python - 将键值对转换为 Json
问题描述
我正在尝试使用从数据库中收到的某些数据,格式如下:
('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)
解决方案
如果没有更多数据,我会在黑暗中进行一些编码,但这就是我的建议:
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)
推荐阅读
- tensorflow - what is the keras equivalent of this tensorflow softmax loss + l2 regularization
- javascript - 比验证更早的信息输出
- android-studio - why android studio show separate words?
- django - Django在更新视图中获取表单字段的值
- android - 架构导航组件:每次都会调用 onCreateView
- mysql - Need to find slow moving item from current stock and sale
- javascript - How to make slideshow of images that layer
- c++ - 命名空间中的静态成员函数
- html - 如果在 Angular 中将 sourcemap 设置为 false 会发生什么
- c# - How to send a simple message using a twilio number with an ASP.NET MVC project?