84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
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
就是上面的对象或者其他变量类型。