通过HTTP从Android应用发送到Nodejs服务器后,我的JSON看起来有所不同



当我试图通过HTTP将JSON作为字符串发送到Nodejs服务器时,当我尝试记录请求时。任何字段。

我的课程将请求发送到服务器:

public class SendData extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... strings) {
        String data = "";
        HttpURLConnection httpURLConnection = null;
        try{
            httpURLConnection = (HttpURLConnection)new URL(strings[0]).openConnection();
            httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setDoOutput(true);
            DataOutputStream wr = new DataOutputStream(httpURLConnection.getOutputStream());
            wr.writeBytes(strings[1]);
            wr.flush();
            wr.close();
            InputStreamReader inputStreamReader = new InputStreamReader(httpURLConnection.getInputStream());
            int inputStreamData = inputStreamReader.read();
            while (inputStreamData != -1){
                char current = (char) inputStreamData;
                inputStreamData = inputStreamReader.read();
                data += current;
            }
        } catch (Exception e){
            e.printStackTrace();
        } finally {
            if(httpURLConnection != null){
                httpURLConnection.disconnect();
            }
        }
        return data;
    }
}

服务器代码:

app.post('/', function (req, res) {
  var a = req.body;
  console.log(a);
  res.send(a);
})

和JSON看起来像这样:

{ '{"name":"ffffc","email":"asdxx","password":"ffv","tel":"111"}': '' }

,但应该看起来像:

{"name":"ffffc","email":"asdxx","password":"ffv","tel":"111"}

您的Java代码需要将其内容类型设置为application/json,就像:

httpURLConnection.setRequestProperty("Content-Type", "application/json");

相关内容

最新更新