Django加载本地json文件

Posted

技术标签:

【中文标题】Django加载本地json文件【英文标题】:Django load local json file 【发布时间】:2012-05-16 21:56:41 【问题描述】:

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

【问题讨论】:

【参考方案1】:

使用 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 所说,最好使用 fixtures 或 factories 作为测试数据。

【讨论】:

我收到一个错误 No such file or directory: '/static/portal/sample-dap.json'... 文件位于 appfolder/static/app/prices.json 路径应该相对于调用脚本,否则指定完整路径 应该是:-> data2 = json.dumps(data) // json 格式字符串【参考方案2】:

这里的技巧是使用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

【讨论】:

【参考方案3】:

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

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

【讨论】:

以上是关于Django加载本地json文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将 json 文件加载到本地存储中?

Ionic 3 在 android 上加载本地 json 文件失败

如何使用 Django ORM 将 JSON 文件中的数据加载到 MySQL 实例中?

将本地 JSON 文件加载到变量中

JQuery $.getJSON 加载本地 JSON 文件不起作用

js怎么加载&解析json文件,原生的