18

我有一个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'
4

3 回答 3

41

使用 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()

请参阅此处了解更多信息。

正如 Joe 所说,为您的测试数据使用固定装置工厂是一种更好的做法。

于 2012-05-08T12:07:13.017 回答
9

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

IE

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
于 2012-05-08T12:12:35.510 回答
4

您应该为此使用 Django 固定装置。

https://docs.djangoproject.com/en/dev/topics/testing/?from=olddocs

于 2012-05-08T12:07:45.667 回答