Flask 中接收与发送json 方式详解

1、利用flask的request.form.get()方法接收

from flask import Flask
from flask import jsonify
from flask import request
import json
 
@app.route("/login", methods=['POST'])
def login():
	 data_ = request.form.get('data')
	 data = json.loads(data)
	 username = data['username']
	 password = data['password']

	 return jsonify({"login": Login.login(username, password)})  # 返回布尔值

2、 利用flask的request.get_data()方法接收

from flask import Flask
from flask import jsonify
from flask import request
import json

@app.route("/flask/login", methods=['POST'])
def login():
 data = request.get_data()
 data = json.loads(data)
 username = data['username']
 password = data['password']

 return jsonify({"login": Login.login(username, password)}) # 返回布尔值

3、利用flask的request.get_json()方法接收

from flask import Flask
from flask import jsonify
from flask import request


@app.route("/flask/login", methods=['POST'])
def login():
 data = request.get_json()
 username = data['username']
 password = data['password']
 
 return jsonify({"login": Login.login(username, password)}) # 返回布尔值

  • 7
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
发送JSON数据可以使用Go的`encoding/json`包来序列化数据并将其发送到WebSocket连接。 以下是示例代码: ```go package main import ( "encoding/json" "fmt" "log" "net/http" "github.com/gorilla/websocket" ) type Message struct { Text string `json:"text"` } var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, } func main() { http.HandleFunc("/", handleWebSocket) log.Fatal(http.ListenAndServe(":8080", nil)) } func handleWebSocket(w http.ResponseWriter, r *http.Request) { conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println(err) return } defer conn.Close() message := Message{Text: "Hello, World!"} jsonMessage, _ := json.Marshal(message) err = conn.WriteMessage(websocket.TextMessage, jsonMessage) if err != nil { log.Println(err) return } for { messageType, p, err := conn.ReadMessage() if err != nil { log.Println(err) return } if messageType == websocket.TextMessage { var message Message err := json.Unmarshal(p, &message) if err != nil { log.Println(err) continue } fmt.Printf("Received message: %s\n", message.Text) } } } ``` 该示例使用Gorilla WebSocket库来处理WebSocket连接。 `handleWebSocket`函数处理连接,并在连接建立后向客户端发送JSON消息。然后,它读取来自客户端的JSON消息并将其反序列化为`Message`类型。 要发送JSON数据,请使用`json.Marshal`将数据序列化为字节切片,然后使用`conn.WriteMessage`将其入WebSocket连接。 要接收JSON数据,请使用`conn.ReadMessage`从WebSocket连接读取字节切片,然后使用`json.Unmarshal`将其反序列化为相应的类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值