当我解析JSON对象时,它会以正确的格式轻松解析。但是,只要我向服务器端发送相同的内容,就会丢失值。
JSONArray check0 = new JSONArray();
JSONArray check1 = new JSONArray();
JSONArray check2 = new JSONArray();
check0.put(v11);
check0.put(v12);
check0.put(v13);
check1.put(c11);
check1.put(c12);
check1.put(c13);
check4.put(t11);
check4.put(t12);
check4.put(t13);
draft.put("check2",id11);
draft.put("check3",t11);
draft.put("check0",check0);
draft.put("check1",check1);
draft.put("check4",check4);
其中v11,v12 ....... t12,t13是字符串变量。
我发送数据的代码:
URL url = new URL("http://10.0.2.2:8080/initial");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("USER-AGENT", "Mozilla/5.0");
connection.setRequestProperty("ACCEPT-LANGUAGE", "en-US,en;0.5");
connection.setDoOutput(true);
DataOutputStream dStream = new
DataOutputStream(connection.getOutputStream());
System.out.println(draft.toString());
dStream.writeBytes(draft.toString());
System.out:
{"Check1":["5","4","4"],"Check0":["6","44","4"],"Check2":"17082017123406","Check4":"1228123682","Check3":["4","4","4"]}
接收邮寄请求的代码:
app.post('/initial', function(req, res){
console.log("POST received: "+ JSON.stringify(req.body));
res.end("cool");
});
控制台输出 收到POST:
{"{\"Check1\":":{"\"5\",\"4\",\"4\"":{"\"6\",\"44\",\"4\"":{"\"4\",\"4\",\"4\"":""}}}}
答案 0 :(得分:0)
尝试使用以下
con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
实施例
private JSONObject uploadToServer() throws IOException, JSONException {
String query = "https://example.com";
String json = "{\"key\":1}";
URL url = new URL(query);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");
OutputStream os = conn.getOutputStream();
os.write(json.getBytes("UTF-8"));
os.close();
// read the response
InputStream in = new BufferedInputStream(conn.getInputStream());
String result = org.apache.commons.io.IOUtils.toString(in, "UTF-8");
JSONObject jsonObject = new JSONObject(result);
in.close();
conn.disconnect();
return jsonObject;
}