android中如何通过请求向web服务发送JSON对象
我想将JSON对象作为请求传递给web服务,就像我在下面提到的那样android中如何通过请求向web服务发送JSON对象,android,Android,我想将JSON对象作为请求传递给web服务,就像我在下面提到的那样 Result:{ "email":"xxxxxxx", "password":"xxxxxx", "Marks":[ { "mark1":"50", "mark2":"70" } ], "firstname":"xxxx", "lastname":"xxxxx" } 我的代码: 此处消息应具有上述格式的json对象。如何格式化json对象 谢谢。您可以像字符串一样发送: List<NameVa
Result:{
"email":"xxxxxxx",
"password":"xxxxxx",
"Marks":[
{
"mark1":"50",
"mark2":"70"
}
],
"firstname":"xxxx",
"lastname":"xxxxx"
}
我的代码:
此处消息应具有上述格式的json对象。如何格式化json对象
谢谢。您可以像字符串一样发送:
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("json", message.toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
您可以像字符串一样发送:
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("json", message.toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
如果您在android端实现上面的json对象时遇到困难,那么您可以像下面这样构造它
JSONObject message = new JSONObject();
JSONObject mParams = new JSONObject();
mParams.put("email", "xxxx");
mParams.put("password", "xxx");
JSONArray markArray = new JSONArray();
JSONObject markObj = new JSONObject();
markObj.put("mark1", "50");
markObj.put("mark2", "70");
markArray.put(markObj);
mParams.put("Marks", markArray);
mParams.put("FirstName", "xxxx");
mParams.put("lastname", "xxxx");
message.put("Result",mParams);
现在在你的代码中
HttpPost httppost = new HttpPost("My Url");
httppost.setEntity(new StringEntity(**message**.toString(), "UTF-8"));
如果您在android端实现上面的json对象时遇到困难,那么您可以像下面这样构造它
JSONObject message = new JSONObject();
JSONObject mParams = new JSONObject();
mParams.put("email", "xxxx");
mParams.put("password", "xxx");
JSONArray markArray = new JSONArray();
JSONObject markObj = new JSONObject();
markObj.put("mark1", "50");
markObj.put("mark2", "70");
markArray.put(markObj);
mParams.put("Marks", markArray);
mParams.put("FirstName", "xxxx");
mParams.put("lastname", "xxxx");
message.put("Result",mParams);
现在在你的代码中
HttpPost httppost = new HttpPost("My Url");
httppost.setEntity(new StringEntity(**message**.toString(), "UTF-8"));
这可能会帮助您使用GSON库。GSON是一个用于解析JSON资源的Google库。关于编组,它基本上意味着一种将数据结构(如OOP语言中的对象)转换为JSON的方法…:
这可能会帮助您使用GSON库。GSON是一个用于解析JSON资源的Google库。关于编组,它基本上意味着一种将数据结构(如OOP语言中的对象)转换为JSON的方法…:
首先,您上面提到的JSON是无效的 现在, 这里的消息应该有上面格式的json对象。我怎么能 格式化JSON对象 =>有两种方法可以做到这一点: 1)使用JSONObject或JSONArray类创建请求结构,如:
String strRequest = "{\"email\":\"xxxxxxx\",\"password\":\"xxxxxx\"}";
JSONObject objRequest=新的JSONObject();
objRequest.putString(“电子邮件”,“xxxx”);
objRequest.putString(“密码”、“xxxx”)
在HttpPost对象内设置实体时,将其转换为字符串值
2)糟糕的方法是,简单地用转义序列生成字符串值,类似于:
String strRequest = "{\"email\":\"xxxxxxx\",\"password\":\"xxxxxx\"}";
首先,您上面提到的JSON是无效的 现在, 这里的消息应该有上面格式的json对象。我怎么能 格式化JSON对象 =>有两种方法可以做到这一点: 1)使用JSONObject或JSONArray类创建请求结构,如:
String strRequest = "{\"email\":\"xxxxxxx\",\"password\":\"xxxxxx\"}";
JSONObject objRequest=新的JSONObject();
objRequest.putString(“电子邮件”,“xxxx”);
objRequest.putString(“密码”、“xxxx”)
在HttpPost对象内设置实体时,将其转换为字符串值
2)糟糕的方法是,简单地用转义序列生成字符串值,类似于:
String strRequest = "{\"email\":\"xxxxxxx\",\"password\":\"xxxxxx\"}";
您还可以使用现有库,如android json rpc您也可以使用现有库,如android json rpc如果我使用您的代码,我会得到未序列化的输出,如{“Result”:{“lastname”:“xxxx”,“FirstName”:“xxxx”,“Marks”:[{“mark2”:“70”,“mark1”:“50”}],“password”:“xxx”,“email”:“xxxx”}字段的位置已更改。我需要按此顺序设置email、pass、marks、firstname和lastname。并且我不需要在Result和endOrder之前加上open和close括号,这对JSON不重要-这是默认情况下的,因为它的设计结构。您的服务器端代码将正确地检测到它,因为它将基于键值对对对它进行评估。我的输出将“Result”视为一个键,这就是为什么它被格式化为一个完美的json对象。您可以使用jsonlint.com验证Json。如果json格式无效,那么服务器端代码将不会将其检测为json对象,并将抛出错误。如果我使用ur代码,我将得到未序列化的输出,如{“Result”:{“lastname”:“xxxx”,“FirstName”:“xxxx”,“Marks”:[{“mark2”:“70”,“mark1”:“50”}],“password”:“xxx”,“email”:“xxxx”}字段的位置已更改。我需要电子邮件、pass、Marks、,firstname,lastname,按此顺序排列。我不需要在Result和endOrder之前加上open和close括号,这对于JSON来说并不重要-这是默认的,因为它的设计结构。您的服务器端代码将正确地检测到它,因为它将基于键值对对对它进行评估。我的输出将“Result”视为一个键,这就是为什么它被格式化为一个完美的json对象。您可以使用jsonlint.com验证Json。如果json格式无效,则服务器端代码将不会将其检测为json对象,并将抛出错误。可能重复的可能重复的