android json 解析简单实例
来源:互联网 发布:网络lp地址怎么设置 编辑:程序博客网 时间:2024/05/16 18:08
Android JSON解析跟JAVA 的JSON解析原理是一样的. Android自带的JSON方式跟方便,不需要导包啥的.不深究原理了,直接上代码:
public class JsonActivity extends Activity { private TextView tvJson; private Button btnJson; private Button btnJsonMulti; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tvJson = (TextView) this.findViewById(R.id.tvJson); btnJson = (Button) this.findViewById(R.id.btnJson); btnJsonMulti = (Button) this.findViewById(R.id.btnJsonMulti); btnJson.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String strUrl = ServerPageUtil.getStrUrl(UrlsOfServer.JSON_SINGER); //获得返回的Json字符串 String strResult = connServerForResult(strUrl); //解析Json字符串 parseJson(strResult); } }); btnJsonMulti.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String strUrl = ServerPageUtil.getStrUrl(UrlsOfServer.JSON_SINGERS); String strResult = connServerForResult(strUrl); //获得多个Singer parseJsonMulti(strResult); } }); } private String connServerForResult(String strUrl) { // HttpGet对象 HttpGet httpRequest = new HttpGet(strUrl); String strResult = ""; try { // HttpClient对象 HttpClient httpClient = new DefaultHttpClient(); // 获得HttpResponse对象 HttpResponse httpResponse = httpClient.execute(httpRequest); if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { // 取得返回的数据 strResult = EntityUtils.toString(httpResponse.getEntity()); } } catch (ClientProtocolException e) { tvJson.setText("protocol error"); e.printStackTrace(); } catch (IOException e) { tvJson.setText("IO error"); e.printStackTrace(); } return strResult; } // 解析单个Json数据 private void parseJson(String strResult) { try { JSONObject jsonObj = new JSONObject(strResult).getJSONObject("singer"); int id = jsonObj.getInt("id"); String name = jsonObj.getString("name"); String gender = jsonObj.getString("gender"); tvJson.setText("ID号"+id + ", 姓名:" + name + ",性别:" + gender); } catch (JSONException e) { System.out.println("Json parse error"); e.printStackTrace(); } } //解析多个Json的数据 private void parseJsonMulti(String strResult) { try { JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers"); String s = ""; for(int i = 0; i < jsonObjs.length() ; i++){ JSONObject jsonObj = ((JSONObject)jsonObjs.opt(i)) .getJSONObject("singer"); int id = jsonObj.getInt("id"); String name = jsonObj.getString("name"); String gender = jsonObj.getString("gender"); s += "ID号"+id + ", 姓名:" + name + ",性别:" + gender+ "\n" ; } tvJson.setText(s); } catch (JSONException e) { System.out.println("Jsons parse error !"); e.printStackTrace(); } } }
0 0
- android json 解析简单实例
- Android-Json简单解析与生成实例(一)
- android 的json解析实例
- android json 解析 简单示例
- Android json解析简单示例
- Json解析字符串j简单实例
- Retrofit解析网页Json数据简单实例
- Retrofit解析网页Json数据简单实例
- 【json】android json解析及简单例子
- [Android实例] Android JSON解析示例代码
- JSON - json解析实例
- Android Json生成及解析实例
- android解析json数据的详解实例
- Android Json生成及解析实例
- android json解析及简单例子
- android json解析及简单例子
- android json解析及简单例子
- android json解析及简单例子
- jquery 基本选择器--element
- Python Reviewing Notes
- 视频流读取与视频帧处理
- 步数识别系统
- Eclipse的插件的link外联方法
- android json 解析简单实例
- Thread、Runable和Handler的关系及使用方法
- Linux - 命令行 预览(navigation) 详解
- sadfasd
- EULER 54
- jquery delegate 给a标签绑定hover事件
- 路由器配置命令
- jquery 属性选择器用法
- 基金筛选