如何通过Python从服务器向应用发送JSON

0 投票
4 回答
1788 浏览
提问于 2025-04-17 16:08

我可以用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框架,可以用tastypiedjango-rest或者piston来处理。

如果你用Flask框架,可以使用flask-restful。这里有一个完整的例子

无论你使用哪个库,整个流程大致是这样的:

  1. 你的应用向一个网址发出请求。
  2. 你的服务器应用(用上面提到的框架写的)会拦截这个请求。
  3. 服务器应用会生成一个JSON文件,并将其作为回应发送回去。
  4. 你的客户端应用读取这个JSON,并将其显示出来。

如果你想实现一个REST API,那么你可以在上述基础上扩展,让客户端应用可以进行更多操作。例如,特定格式的请求可以用来添加新记录、删除记录或者查询某些记录。不过,如果你只是想把JSON文件发送回应用,这些操作并不是必须的。

撰写回答