url:http://127.0.0.1:3000/flow/save [{ "mobile": "13444444444", "mac": "30-3A-64-91-52-98", "lastRefTime": 1438332288, "up": 1111, "down": 222 }]
服务器: app.post('/flow/save', traffic); 怎么获取Json数组
欢迎选择我的课程,让我们一起见证您的进步~~
res.body
呃,用的是express么?express的路由的话,可以在第二个参数里处理,比如这样:
javascriptapp.post('/flow/save', require('body-parser').json(), traffic);
javascript
app.post('/flow/save', require('body-parser').json(), traffic);
如果你是非框架的话,那么应当自己接受到req后做处理,大致的流程是这样
function parseJSON(req,res,next){ var arr = []; req.on("data",function(data){ arr.push(data); }); req.on("end",function(){ var data= Buffer.concat(arr).toString(),ret; try{ var ret = JSON.parse(data); }catch(err){} req.body = ret; next(); }) }
就是简单的接收内容并且JSON.parse啦
用 express 的中间件 body-parser
var app = require('express')(); var bodyParser = require('body-parser'); var multer = require('multer'); app.use(bodyParser.json()); // for parsing application/json app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded app.use(multer()); // for parsing multipart/form-data app.post('/', function (req, res) { console.log(req.body); res.json(req.body); })
同源的情况下,我用的是fetch
var json = [{ "mobile": "13444444444", "mac": "30-3A-64-91-52-98", "lastRefTime": 1438332288, "up": 1111, "down": 222 }]; var data = JSON.stringify(json); fetch('http://127.0.0.1:3000/flow/save',{ method:'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body:data })
非同源的情况下要'Content-Type': 'application/x-www-form-urlencoded' 的标准的编码格式然后把 json 转化为 FormData 对象 就可以正常接收到 json
不然 req.body 会一直是 {} 这样的空对象。
非json数据怎么获取的它就怎么被拿到,无非是个数据格式的问题 在服务端JSON.parse下就能叨叨JSON对象(包括数组)
json本身就是字符串,只是不同语言可以把json字符串转化与自身相适应对象或者其他变量类型。
一般都有: - 把json格式的字符串转化成xx - 把xx转化成json格式的字符串
xx
这里的xx就是上面的对象或者其他变量类型。
res.body
呃,用的是express么?express的路由的话,可以在第二个参数里处理,比如这样:
如果你是非框架的话,那么应当自己接受到req后做处理,大致的流程是这样
就是简单的接收内容并且JSON.parse啦
用 express 的中间件 body-parser
同源的情况下,我用的是fetch
非同源的情况下要'Content-Type': 'application/x-www-form-urlencoded' 的标准的编码格式
然后把 json 转化为 FormData 对象
就可以正常接收到 json
不然 req.body 会一直是 {} 这样的空对象。
非json数据怎么获取的它就怎么被拿到,无非是个数据格式的问题
在服务端JSON.parse下就能叨叨JSON对象(包括数组)
json本身就是字符串,只是不同语言可以把json字符串转化与自身相适应对象或者其他变量类型。
一般都有:
- 把json格式的字符串转化成
xx
- 把
xx
转化成json格式的字符串这里的
xx
就是上面的对象或者其他变量类型。