提示:在访问网络,或者服务器的数据一定要注意 网络权限的声明:
<uses-permission android:name="android.permission.INTERNET"/>
package com.sun.parsejsondata;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.test.AndroidTestCase;
import android.util.Log;
/*{
"index_num":"121286",
"total":300,
"result_num":10,
"web_url":"http://www.aibang.com",
"wap_url":"http://wap.aibang.com",
"bizs":{
"biz":[{
"id":"19180584-418982077",
"name":"北京饭店",
"addr":"东城区东长安街号(近王府井大街)",
"tel":"4006778919-1011",
"cate":"宾馆酒店;美食;其他美食;五星级酒店;婚宴酒店;结婚",
"rate":4,
"cost":0,
"desc":"北京饭店始建于年,位于北京市中心,步行五,毗邻皇宫紫禁城,与繁华的...",
"dist":"-1",
"lng":"116.411096",
"lat":"39.9084880",
"img_url":"http://img0.aibangjuxin.com/ipic/15f6cfa4e1cc98cf_8.jpg"
},
...
]
}
}*/
/**
* 获取网络数据 -- json 格式,并进行解析
* @author Administrator
*
*/
public class ParseJson {
/**
* 解析JSON 数据
* @throws Exception
*/
public void parseJson(String jsonStr) throws Exception{
JSONObject root = new JSONObject(jsonStr);
// 编号
String index_num = (String) root.get("index_num");
int total = root.getInt("total");
int result_num = root.getInt("result_num");
JSONObject bizsO = root.getJSONObject("bizs");
JSONArray arr = bizsO.getJSONArray("biz");
for (int i = 0; i < arr.length(); i++) {
JSONObject bizs_ =arr.getJSONObject(i);
String id = bizs_.getString("id");
String addr = bizs_.getString("addr");
Log.i("msg","编号:"+id+"',地址"+addr);
}
}
/**
* 访问网络数据
* @throws IOException
* @throws ClientProtocolException
*/
public String accessIntent() throws Exception{
// 请求服务器地址
String path = "http://169.254.111.39:8080/myjson.html";
// Get 方式进行请求
HttpGet httpGet = new HttpGet(path);
// 默认客户端
HttpClient httpClient = new DefaultHttpClient();
// 请求响应
HttpResponse httpResponse = httpClient.execute(httpGet);
// 判断响应结果
if(httpResponse.getStatusLine().getStatusCode() == 200){ // 响应成功
HttpEntity httpEntity = httpResponse.getEntity();
String result = EntityUtils.toString(httpEntity, "gbk");
Log.i("msg",result);
return result;
}
return null;
}
}
post的请求方式:
public class HttpURLActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("start url...");
String url = "http://192.168.2.112:8080/JustsyApp/Applet";
// 第一步,创建HttpPost对象
HttpPost httpPost = new HttpPost(url);
// 设置HTTP POST请求参数必须用NameValuePair对象
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("action", "downloadAndroidApp"));
params.add(new BasicNameValuePair("packageId", "89dcb664-50a7-4bf2-aeed-49c08af6a58a"));
params.add(new BasicNameValuePair("uuid", "test_ok1"));
HttpResponse httpResponse = null;
try {
// 设置httpPost请求参数
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
httpResponse = new DefaultHttpClient().execute(httpPost);
//System.out.println(httpResponse.getStatusLine().getStatusCode());
if (httpResponse.getStatusLine().getStatusCode() == 200) {
// 第三步,使用getEntity方法活得返回结果
String result = EntityUtils.toString(httpResponse.getEntity());
System.out.println("result:" + result);
T.displayToast(HttpURLActivity.this, "result:" + result);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("end url...");
setContentView(R.layout.main);
}
}
分享到:
相关推荐
首先客户端从服务器端获取json数据 1、利用HttpUrlConnection 代码如下:/** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exception */ public static String readParse(String urlPath) ...
1. 例子代码有两部分:androidJson是andoird的工程,inxdex.php是php服务器json数据产生部分代码。 2. 服务器端提供http(get)获取方式获取json数据的api例子,是用php写的。 4. android的apk给你说完成http数据...
android客户端从服务器端获取json数据并解析
适合基础巩固学习 解析服务器json数据 ListView列表上拉加载 下拉刷新 自己做的程序 解释很全 经过验证 绝对运行成功 学习的好例子 希望对您有绝对的好帮助
Android请求服务器和解析数据,包含8个实例代码:android_json,android访问网络返回的XML数据并且进行解析,httpclient获取到JSON数据并展示到ListView,Json数据解析服务器端加客户端代码等等。
服务器端采用Struts2编码,Android客户端采用Json解析它的数据 服务器端程序为ServerProject(用MyEclipse建立此项目),Android客户端程序代码为:AndroidHttpJSONActivity 注意Android客户端代码中,有一个ip地址,...
android读取并解析服务器json 内容很详细.简单明了~
简单的android与服务器实现json数据交互解析,包含Gson方式和普通方式,实现四种json数据的交互解析
Android通过gson自动解析服务器返回的json数据
android json数据下载与解析demo,实现了http下载json服务器数据,并通过JsonObject解析json数据
本程序是用Android手机去访问用java开发的服务器的数据,并让服务器 从数据库中访问数据库以JSON格式返回数据,在Android手机端将返回的数据 以JSON的格式解析出来。 本文件中的mysql.sql是我测试是的数据库,在...
WebView布局使用,okHTTP访问解析服务器返回的json/xml数据。
http连接 获取json 解析json 显示json数据 Springboot服务器
android 项目开发实例,json 解析参考, 希望对你们有用
Android Http (Json) 服务器端和客户端通信
做的一个demo,实现注册和登陆,解析服务器放回的数据(json),有文本和图片,然后加载到listview上显示,新手,代码风格并不是很好
将web端的数据json化,如何在到android中解析,并显示。
Android客户端向服务器端请求数据的两种主要方式:HTTPURLConnection、HTTPClient;内含客户端与服务器端Demo(带有详细注释),原生方式解析json数据,希望大家多多批评指教!!
Android studio获取服务器端json数据并解析-附件资源