求大神求助,在android中如何把2个数据如strLati、strLong弄成json格式,并通过网络发送到服务器。
2个回答
展开全部
几个数,直接组合成json格式就好了,不要用工具包了。
String myJsonData="{lati:123455, long:87654}";
递交
HTTP POST请求:
String url;
//第一步,创建HttpPost对象
HttpPost httpPost = new HttpPost(url);
//设置HTTP POST请求参数必须用NameValuePair对象
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("json", myJsonData));
//设置httpPost请求参数
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
//第二步,使用execute方法发送HTTP GET请求,并返回HttpResponse对象
httpResponse = new DefaultHttpClient().execute(httpPost);
if (httpResponse.getStatusLine().getStatusCode() == 200){
//第三步,使用getEntity方法活得返回结果
String result = EntityUtils.toString(httpResponse.getEntity());
}
________________未经测试,仅提供方法及思路_______________________
String myJsonData="{lati:123455, long:87654}";
递交
HTTP POST请求:
String url;
//第一步,创建HttpPost对象
HttpPost httpPost = new HttpPost(url);
//设置HTTP POST请求参数必须用NameValuePair对象
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("json", myJsonData));
//设置httpPost请求参数
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
//第二步,使用execute方法发送HTTP GET请求,并返回HttpResponse对象
httpResponse = new DefaultHttpClient().execute(httpPost);
if (httpResponse.getStatusLine().getStatusCode() == 200){
//第三步,使用getEntity方法活得返回结果
String result = EntityUtils.toString(httpResponse.getEntity());
}
________________未经测试,仅提供方法及思路_______________________
追问
如果2个数据是从GPS芯片读出来的经纬度也是String myJsonData="{lati:123455, long:87654}";这样吗?比如:strLati = Double.toString(location.getLatitude());
strLong = Double.toString(location.getLongitude());
两条命令得出来的经纬度是String myJsonData="{lati:strLati, long:strLong}";这样吗?
追答
追问的,已经不是递交的问题,只是字符串组合问题。
简单一点,
String myJsonData="{lati:"+strLati+", long:"+strLong+"}";
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询