Django加载本地json文件

时间:2012-05-08 12:04:25

标签: python django json

我有一个ajax视图:

def ajax_prices(request):
    data = {'data':'data'}
    return HttpResponse(json.dumps(data), mimetype='application/json')

我想用本地json文件(prices.json)测试它。如何导入本地json文件?

本地json文件'prices.json'

{"aaData": [
[1, "70.1700", "2008-12-29 11:23:00"],
[2, "70.2600", "2008-12-29 16:22:00"],
[3, "70.6500", "2008-12-30 11:30:00"],
[4, "70.8700", "2008-12-30 16:10:00"],
[5, "70.5500", "2009-01-02 11:09:00"],
[6, "70.6400", "2009-01-02 16:15:00"],
[7, "70.6500", "2009-01-05 11:17:00"]
]}

我不能这样做:

data = '/static/prices.json'

3 个答案:

答案 0 :(得分:27)

使用json模块:

import json

json_data = open('/static/prices.json')   
data1 = json.load(json_data) # deserialises it
data2 = json.dumps(data1) # json formatted string

json_data.close()

有关详细信息,请参阅here

正如Joe所说,将fixturesfactories用于测试数据是一种更好的做法。

答案 1 :(得分:7)

这里的技巧是使用python的内置方法open该文件,读取其内容并使用json模块解析它

import json

data = open('/static/prices.json').read() #opens the json file and saves the raw contents
jsonData = json.loads(data) #converts to a json structure

答案 2 :(得分:4)