如何通过Python从服务器向应用发送JSON
我可以用Python从服务器向我的iOS应用发送JSON吗?
这种事情是怎么实现的呢?
(用Django或者Flask都可以)
我在网上找过,但只找到PHP的教程。
我试过返回JSON,但没有成功——或者说它根本没有发送到应用里。
4 个回答
0
如果你在使用Django,这些可能会对你有帮助:
#views.py
import json
from django.http import HttpResponse
def jsonview(request):
...
return HttpResponse(json.dumps(result), mimetype='application/json')
更好的做法是,不要直接使用json,而是使用
from django.core.serializers import serialize
serialize('json', result) #instead of json.dumps(result)
1
在Flask框架中,你可以使用 jsonify
这个功能。
from flask import jsonify
@app.route("/index/", methods=['GET'])
def index():
return jsonify(result=result)
1
基本的想法是,你的客户端应用会向一个网址发送请求,然后服务器会用JSON格式的内容来回应。
生成这个JSON文件的方式并不重要。你可以用任何编程语言(甚至是JavaScript)来创建JSON并发送回去。
如果你使用Django框架,可以用tastypie、django-rest或者piston来处理。
如果你用Flask框架,可以使用flask-restful。这里有一个完整的例子。
无论你使用哪个库,整个流程大致是这样的:
- 你的应用向一个网址发出请求。
- 你的服务器应用(用上面提到的框架写的)会拦截这个请求。
- 服务器应用会生成一个JSON文件,并将其作为回应发送回去。
- 你的客户端应用读取这个JSON,并将其显示出来。
如果你想实现一个REST API,那么你可以在上述基础上扩展,让客户端应用可以进行更多操作。例如,特定格式的请求可以用来添加新记录、删除记录或者查询某些记录。不过,如果你只是想把JSON文件发送回应用,这些操作并不是必须的。