以请求参数格式集成的其余Web服务就像这样
{
"user" : {
"id" : null,
"createdBy" : 1,
"createdOn" : null,
"emailAddress" : "goza1@apaservices.net",
"enabled" : "True",
"firstName" : "Marietnmnnta ",
"lastName" : "Zarafftgoza",
"mobileNo" : "556641488346",
"status" : null,
"updatedBy" : null,
"updatedOn" : null,
"regType" : "User",
"profilePicUrl" : "c:",
"profile" : null
}
}
如何使用post方法使用此请求调用Web服务,我已在网上检查了很多示例,但请求参数格式我没有得到,有人请帮助
答案 0 :(得分:0)
只需像这样创建jsonrequest
JSONObject jsonBody = new JSONObject();
jsonBody.put("id", null);
jsonBody.put("createdBy", 1);
jsonBody.put("profile", null);
现在将你的jsonbody添加到主对象
JSONObject jsonMain = new JSONObject();
jsonBody.put("user", jsonBody);
答案 1 :(得分:0)
创建JSONObject
以添加输入参数,如下所示,并将其附加到HttpPost
对象。
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
String json = "";
JSONObject user = new JSONObject();
user.put("id", null);
user.put("createdBy", 1);
user.put("createdOn", null);
json = user.toString();
StringEntity se = new StringEntity(json);
httpPost.setEntity(se);
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-type", "application/json");
HttpResponse httpResponse = httpclient.execute(httpPost);
答案 2 :(得分:0)
试试这样。我希望它能帮到你..!
JSONObject jsonobj = new JSONObject();
JSONObject geoJsonObj = new JSONObject();
try {
jsonobj.put("action","put-point");
geoJsonObj.put("lng", longitude);
geoJsonObj.put("lat", latitude);
geoJsonObj.put("rangeKey", rangeKey);
geoJsonObj.put("schoolName", "TESTSCHOOL535353");
jsonobj.put("request", geoJsonObj);
} catch (JSONException e) {
e.printStackTrace();
}
new SendData().execute(jsonobj.toString());
public class SendData extends AsyncTask<String, Integer, Double>{
String response="";
@Override
protected Double doInBackground(String... params) {
postData(params[0]);
}
public void postData(String jsondata) {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost=new HttpPost("url");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("json",jsondata));
httpPost.setEntity((HttpEntity) new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse res = httpclient.execute(httpPost);
InputStream content = res.getEntity().getContent();
BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
String s = "";
while ((s = buffer.readLine()) != null) {
response += s;
}
System.out.println("response from server"+response);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
}
服务器端 -
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String jsondata=request.getParameter("json");
//now parse your data from json
try {
JSONObject JsonObject=new JSONObject(jsondata);
JSONObject object=JsonObject.getJSONObject("request");
String action=object.getString("action");
String lng=object.getString("lng");
String lat=object.getString("lat");
String rangeKey=object.getString("rangeKey");
String schoolName=object.getString("schoolName");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}