这里有新鲜出炉的精品教程,程序狗速度看过来!
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
这篇文章主要介绍了 Android 编程简单解析 JSON 格式数据的方法, 结合实例形式分析了 Android 编程解析 json 格式数据的实现方法与相关操作技巧, 需要的朋友可以参考下
本文实例讲述了 Android 编程简单解析 JSON 格式数据的方法。分享给大家供大家参考,具体如下:
比起 XML,JSON 主要优势在于它的体积更小,在网络上传输的时候可以更省流量。但缺点在于,它的语义性较差,显示不如 XML 直观。
JSON 格式 :
- { "name_A" : "value_A","name_B" : "value_B" }
表示:
- name_A = value_A; name_B = value_B;
我将对下面的 JSON 数据进行解析:
- [{"id":"5","version":"5.5","name":"愤怒的小鸟"},
- {"id":"6","version":"7.0","name":"神庙逃亡"},
- {"id":"7","version":"3.5","name":"保卫萝卜"}]
代码如下:
- private void parseJSONWithJSONObject(String jsonData) {
- try {
- JSONArray jsonArray = new JSONArray(jsonData);
- for (int i = 0; i < jsonArray.length(); i++) {
- JSONObject jsonObject = jsonArray.getJSONObject(i);
- String id = jsonObject.getString("id");
- String name = jsonObject.getString("name");
- String version = jsonObject.getString("version");
- Log.d("woider", "id is " + id);
- Log.d("woider", "name is " + name);
- Log.d("woider", "version is " + version);
- }
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
首先获取 JSON 元素数组:
- JSONArray jsonArray = new JSONArray(jsonData);
其次循环获取每个元素:
- JSONObject jsonObject = jsonArray.getJSONObject(index);
每次循环保存名称相对应的值:
- String name = jsonObject.getString("name");
====================== 使用 GSON========================
GSON 是谷歌提供的一个 API,它主要就是可以将一段 JSON 格式的字符串自动映射成一个对象,从而不需要手动编码进行解析。
但是 GSON 并没有被添加到 Android 官方的 API 中,因此如果需要使用这个功能的话,则必须在项目中添加一个 GSON 的 Jar 包。
首先要建立一个类容纳 JSON 中的数据,然后实例化 Gson 对象,并通过 fromJson() 方法获取 JSON 对象集合。
- private void parseJSONWithGSON(String jsonData) {
- Gson gson = new Gson();
- List<App> appList = gson.fromJson(jsonData, new TypeToken<List<App>>() {
- }.getType());
- for (App app : appList) {
- Log.d("woider", "id is " + app.getId());
- Log.d("woider", "name is " + app.getName());
- Log.d("woider", "version is " + app.getVersion());
- }
- }
最后,补上运行截图:
希望本文所述对大家 Android 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0825/344175.html