【问题标题】:JSON data formatting in PythonPython 中的 JSON 数据格式化
【发布时间】:2015-06-28 19:37:51
【问题描述】:

我正在从数据库表中检索多个列。列名之一是包含 JSON 数据的值。如果我从数据库中选择唯一的值列,那么我会得到以下格式的记录。

value = (u'{"time":["9599","MS"],"What is your birth place?":["USA"]}',)

但是,如果我选择带有其他列的值列,那么我会得到以下格式的记录:

value = {"time":["9599","MS"],"What is your birth place?":["USA"]}

我需要第一种格式的值,因为我想使用以下代码将键和值对与数据分开。

dict = json.loads(value[0])
dict.keys()
dict.values()

我的输出应该如下所示。

Keys
-----
time 
What is your birth place?

Value:
------
9599 
MS
USA

如何将数据从第二种格式转换为第一种格式?

【问题讨论】:

  • 对于第二种格式,不要value.keys()value.values()完成你想要的吗?

标签: python json oracle python-2.7


【解决方案1】:

您可以简单地在value 上调用str(),然后创建所需的元组:

value = {"time":["9599","MS"],"What is your birth place?":["USA"]}
value = (str(value),)
print value
>> ("{'What is your birth place?': ['USA'], 'time': ['9599', 'MS']}", )

编辑:实际上最好使用json.dumps(),它接受一个Python字典并返回一个json字符串:

value = {'time':['9599','MS'],'What is your birth place?':['USA']}

import json

value = (json.dumps(value),)
print value
>> ('{"What is your birth place?": ["USA"], "time": ["9599", "MS"]}', )

【讨论】:

    猜你喜欢
    • 2012-10-23
    • 2021-08-07
    • 1970-01-01
    • 2018-06-30
    • 2015-12-18
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    相关资源
    最近更新 更多