我正在向java中的节点服务器发送一个json对象。我想在服务器控制台中显示该值。在服务器控制台上我得到未定义。如何获取 JSON 对象并在nodejs中解析它使用快递。
Java代码
try
{
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://example.com:3000/");
JSONObject msg = new JSONObject(); Log.e("data",code);
msg.put("data", code);
HttpEntity entity = new StringEntity(msg.toString());
BufferedReader reader = new BufferedReader(new
InputStreamReader(client.execute(post).getEntity().getContent()));
String response = reader.readLine();
Log.e("response", response);
}
catch(Exception e)
{ Log.e("",e.toString());
}
节点服务器
var express = require("express");
var http=require("http");
var app = express();
app.use(express.bodyParser());
app.post("/", function(request, response)
{
response.send(JSON.stringify({success: true}));
var token = request.body.data;
console.log(token);
});
app.listen(3000);
答案 0 :(得分:1)
您是否尝试过使用:
var bodyParser = require('body-parser');
app.use(bodyParser.json());
这需要您安装body-parser
包:
$ npm install body-parser
答案 1 :(得分:1)
您忘记将实体附加到您的帖子请求。
try
{
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://example.com:3000/");
JSONObject msg = new JSONObject(); Log.e("data",code);
msg.put("data", code);
// modified code below
HttpEntity entity = new StringEntity(msg.toString(), ContentType.create("application/json"));
post.setEntity(entity);
BufferedReader reader = new BufferedReader(new
InputStreamReader(client.execute(post).getEntity().getContent()));
String response = reader.readLine();
Log.e("response", response);
}
catch(Exception e)
{ Log.e("",e.toString());
}