【问题标题】:Receive JSON object on node server using express使用 express 在节点服务器上接收 JSON 对象
【发布时间】:2014-06-06 14:24:23
【问题描述】:

我在 java 中向我的 节点服务器 发送一个 json 对象。我想在服务器 console 中显示值。 在服务器控制台上我得到 undefined. 如何获取 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);

【问题讨论】:

  • 您似乎没有将msgentity 附加到post 请求或client
  • 你能改正吗乔纳森??
  • 我已经纠正了它..!无论如何感谢乔纳森指出它..!就在我发布查询后,我意识到了这一点。

标签: java json node.js express http-post


【解决方案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());
        }

【讨论】:

  • 是的..!我才意识到。无论如何,非常感谢..! :)
【解决方案2】:

您是否尝试过使用:

var bodyParser = require('body-parser');
app.use(bodyParser.json());

这需要你安装body-parser 包:

$ npm install body-parser

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 2017-11-15
    相关资源
    最近更新 更多