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