[英]How send POST request with JSON, NOT as string?
我的應用程序以這種方式發送 POST 請求:
URL url = new URL(SERVER_URL);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod(method);
urlConnection.setDoOutput(true);
urlConnection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
urlConnection.setRequestProperty("Accept", "application/json");
urlConnection.connect();
// Write
OutputStream output = urlConnection.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(output, "UTF-8");
writer.write(jsonString);
writer.close();
output.close();
urlConnection.disconnect();
但是 API 無法對其進行解碼,因為它是一個字符串。 所以:
$input = json_decode(file_get_contents('php://input'), true);
只返回一個空數組。
如何在請求正文中僅寫入 JSON?
也許你需要解析你的jsonString
。 所以你的代碼應該是:
writer.write(JSON.parse(jsonString));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.