我目前有一个看起来像这样的Python字典:
OrderedDict([('2017-07-24', 149.7619), ('2017-07-25', 150.4019), ('2017-07-26', 151.1109), ...
我将这样转换为JSON:
one_yr = json.dumps(priceDict)
当前,我正在像这样通过遍历遍历从SQL查询向字典添加值:
for i in query:
date = i[0]
close = i[1]
priceDict[date] = close
问题是这将返回一个JSON对象,然后我必须将其转换为JSON数组。
我想知道我是否可以直接将Python词典直接转换为JSON数组?谢谢。
答案 0 :(得分:3)
json.dumps(list(priceDict.items()))
但是为什么您首先要使用OrderedDict
?如果将传递给OrderedDict
的相同列表传递给json.dumps
,它将生成您的数组:
json.dumps([('2017-07-24', 149.7619), ('2017-07-25', 150.4019),....])
在这种情况下不需要OrderedDict
答案 1 :(得分:0)
我删除了OrderedDict,但保留了所有其他数据,我想我理解了请求。看看这对您是否有用:
import json
my_dict = ([('2017-07-24', 149.7619), ('2017-07-25', 150.4019), ('2017-07-26', 151.1109)])
print(json.dumps(my_dict, indent=4, sort_keys=True))
答案 2 :(得分:0)
如果要使用json.dumps()方法将Python字典转换为JSON。
`
import json
from decimal import Decimal
d = {}
d["date"] = "2017-07-24"
d["quantity"] = "149.7619"
print json.dumps(d, ensure_ascii=False)
`