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数组
呃,用的是express么?express的路由的话,可以在第二个参数里处理,比如这样:
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啦
res.body
非json数据怎么获取的它就怎么被拿到,无非是个数据格式的问题
在服务端JSON.parse下就能叨叨JSON对象(包括数组)
json本身就是字符串,只是不同语言可以把json字符串转化与自身相适应对象或者其他变量类型。
一般都有:
- 把json格式的字符串转化成xx
- 把xx
转化成json格式的字符串
这里的xx
就是上面的对象或者其他变量类型。