• 服务器处理 json 数据


    今天做小程序后端,需要处理 json 数据,我用的 express 框架,无法直接处理,需要进行 json 提取,网上找了一堆,发现json 四种解析格式,在此记录一下

    • www-form-urlencoded
    • form-data
    • application/json
    • text/xml

    以下是四种格式处理方式,首先添加 Python 模块:

    1 var express = require('express');
    2 var app = express();
    3 var bodyParser = require('body-parser');

    然后根据不同格式处理:

    www-form-urlencoded:

    app.use(bodyParser.urlencoded({
        extended:true
    }));
    app.post('/urlencoded', function(req, res){
        console.log(req.body);
        res.send(" post successfully!");
    });
    app.listen(3000);

    from-data:

    var multipart = require('connect-multiparty');
    var multipartMiddleware = multipart();
    app.post('/formdata',multipartMiddleware, function (req, res) {
      console.log(req.body);
      res.send("post successfully!");
    });

    application/json:

    var express = require('express');
    var app = express();
    var bodyParser = require('body-parser');
    app.use(bodyParser.json());
    app.post('/urlencoded', function(req, res){
        console.log(req.body);
        res.send(" post successfully!");
    });
    app.listen(3000);

    text/xml:

    var express = require('express');
    var bodyParser = require('body-parser');
    var xml2json=require('xml2json');
    var app = express();
    app.use(bodyParser.urlencoded({
      extended: true
    }));
    app.post('/xml', function (req, res) {
      req.rawBody = '';//添加接收变量
      var json={};
      req.setEncoding('utf8');
      req.on('data', function(chunk) { 
        req.rawBody += chunk;
      });
      req.on('end', function() {
      json=xml2json.toJson(req.rawBody);
      res.send(JSON.stringify(json));
      }); 
    });
    app.listen(3000);

    注:我在微信小程序用的是application/json的 post 请求,成功交互。

    谢谢此博客点击链接

  • 相关阅读:
    lqb 基础练习 数列特征
    lqb 基础练习 查找整数 (遍历)
    lqb 基础练习 杨辉三角形
    lqb 基础练习 特殊的数字
    lqb 基础练习 回文数
    lqb 基础练习 特殊回文数
    lqb 基础练习 十进制转十六进制
    lqb 基础练习 十六进制转十进制
    lqb 基础练习 十六进制转八进制 (字符串进行进制转化)
    Git详细操作
  • 原文地址:https://www.cnblogs.com/elve960520/p/11011178.html
Copyright © 2020-2023  润新知