คุณเพียงแค่ต้องนำเข้าสิ่งนี้
import org.json.JSONObject;
constructing the String that you want to send
JSONObject param=new JSONObject();
JSONObject post=new JSONObject();
ฉันใช้วัตถุสองชิ้นเพราะคุณสามารถมี jsonObject อยู่ภายในวัตถุอื่นได้
post.put("username(here i write the key)","someusername"(here i put the value);
post.put("message","this is a sweet message");
post.put("image","http://localhost/someimage.jpg");
post.put("time": "present time");
จากนั้นฉันก็โพสต์ json ไว้ข้างในแบบนี้
param.put("post",post);
นี่คือวิธีการที่ฉันใช้ในการร้องขอ
makeRequest(param.toString());
public JSONObject makeRequest(String param)
{
try
{
การตั้งค่าการเชื่อมต่อ
urlConnection = new URL("your url");
connection = (HttpURLConnection) urlConnection.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-type", "application/json;charset=UTF-8");
connection.setReadTimeout(60000);
connection.setConnectTimeout(60000);
connection.connect();
การตั้งค่าเอาท์พุท
dataOutputStream = new DataOutputStream(connection.getOutputStream());
ฉันใช้สิ่งนี้เพื่อดูใน logcat สิ่งที่ฉันส่ง
Log.d("OUTPUT STREAM " ,param);
dataOutputStream.writeBytes(param);
dataOutputStream.flush();
dataOutputStream.close();
InputStream in = new BufferedInputStream(connection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
result = new StringBuilder();
String line;
นี่คือสตริงที่ถูกสร้างขึ้น
while ((line = reader.readLine()) != null)
{
result.append(line);
}
ฉันใช้บันทึกนี้เพื่อดูว่ามันมาในการตอบสนอง
Log.d("INPUTSTREAM: ",result.toString());
การปรับ json ด้วย String ที่มีการตอบกลับของเซิร์ฟเวอร์
jResponse=new JSONObject(result.toString());
}
catch (IOException e) {
e.printStackTrace();
return jResponse=null;
} catch (JSONException e)
{
e.printStackTrace();
return jResponse=null;
}
connection.disconnect();
return jResponse;
}