Android json数据解析详解及实例代码

 Android json数据解析详解

移动开发经常要与服务器数据交互,也常使用json数据格式,那就说说Android json解析。

1.最简单json格式解析如下:

         //解析json
ry {
JSONTokener jsonParser = new JSONTokener(strResult);
JSONObject jsonObj = (JSONObject) jsonParser.nextValue();
String strsportsTitle = jsonObj.getString("sportsTitle");
  int nid= jsonObj.getInt("id");
 } catch (JSONException e) {
   System.out.println("Json parse error");
   e.printStackTrace();
}

字符串strResult就是需要解析json数据了。用过json数据格式都知道,json数据格式是一个键对应一个值。你可以先打印出原始数据strResult,就知道jsonObj.getString("sportsTitle");这双引号里面键是什么。

2.数组形式json数据解析如下:

try {
    JSONArray jsonArray = new JSONArray(strResult);
    for (int i = 0; i < jsonArray.length(); i++) {
      JSONObject jsonObj = jsonArray.optJSONObject(i);
      id[i] = jsonObj.getInt("id");
      time[i] = jsonObj.getString("time");
      users[i] = jsonObj.getString("users");
      roomTitle[i] = jsonObj.getString("roomTitle");
    }
  } catch (JSONException e) {
    System.out.println("Jsons parse error !");
    e.printStackTrace();
  }

3.json里面嵌套json数据解析如下:

              try {
  JSONArray jsonArray = new JSONArray(strResult);
  for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObj = jsonArray.optJSONObject(i);
    String strachievement = jsonObj.getString("achievement");
      String strmember = jsonObj.getString("member"); 

    try {
      JSONTokener jsonParser1 = new JSONTokener(
          achievement);
      JSONObject jsonObj1 = (JSONObject) jsonParser1
          .nextValue();
      nametype[i] = jsonObj1.getString("name");
      type[i] = jsonObj1.getString("type"); 

    } catch (JSONException e) {
      System.out.println("Json parse error");
      e.printStackTrace();
    }
  }
} catch (JSONException e) {
  System.out.println("Json parse error");
  e.printStackTrace();
}

嵌套json数据,其实都是一样的。多解析一次而已。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • android针对json数据解析方法实例分析

    本文实例讲述了android针对json数据解析方法.分享给大家供大家参考.具体如下: JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. – Json.org JSON Vs XML 1.JSON和XML的数据可读性基本相同 2.JSON和XML同样拥有丰富的解析手段 3.

  • Android随手笔记44之JSON数据解析

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android开发中,如何在服务器端创建JSON数据,以及如何在Android客户端对JSON数据进行解析. 1.JSON数据结构 在JSON中有两种数据结构:对象和数组. 1.1对象 在JSON中,一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"

  • Android系列---JSON数据解析的实例

    上篇随笔详细介绍了三种解析服务器端传过来的xml数据格式,而对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通过json-lib和gson这两个json解析库来对解析我们的json数据,以及如何在我们的Android客户端解析来自服务器端的json数据,并更新到UI当中. 一.什么是json json(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格

  • Android json数据解析详解及实例代码

     Android json数据解析详解 移动开发经常要与服务器数据交互,也常使用json数据格式,那就说说Android json解析. 1.最简单json格式解析如下: //解析json ry { JSONTokener jsonParser = new JSONTokener(strResult); JSONObject jsonObj = (JSONObject) jsonParser.nextValue(); String strsportsTitle = jsonObj.getStri

  • Android UI 实现老虎机详解及实例代码

    Android UI 实现老虎机详解 listview 的使用步骤 简单的listview老虎机实现 1.实现效果图 2.需要掌握的知识 listview的使用步骤 listview的Adapter接口的实现 listview中的MVC 3.知识详解 ListView 是一个控件,一个在垂直滚动的列表中显示条目的一个控件,这些条目的内容来自于一个ListAdapter .EditText Button TextView ImageView Checkbox 五大布局. 1.布局添加Listvie

  • Json 生成与解析详解及实例代码

    Json 生成与解析 JSON常用与服务器进行数据交互,JSON中"{}"表示JSONObject,"[]"表示JSONArray 如下json数据: 1 {"singers":[ 2 {"id":"02","name":"tom","gender":"男","tel":["123456"

  • IOS 数据存储详解及实例代码

    iOS应用数据存储的常用方式 XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3 Core Data 1. XML属性列表(plist)归档 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒. 应用沙盒结构分析: 应用程序包:包含了所有的资源文件和可执行文件 Documents:保存应用运行时生成的需要持久化的数据,iTunes

  • Android listview与adapter详解及实例代码

    一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常简单. 一个ListView的创建需要3个元素. (1)ListView中的每一列的View. (2)填入View的数据或者图片等. (3)连接数据与ListView的适配器. 也就是说,要使用ListView,首先要了解什么是适配器.适配器是一个连接数据和AdapterView(ListView就

  • Android Spinner与适配器模式详解及实例代码

    最近做项目对Android Spinner 使用,这里简单写个小例子,来测试如何使用. Spinner 是一个下拉列表,往安卓界面中拖拽一个Spinner控件,在属性中设置Android:entries="@array/spinner_data" 其中spinner_data为在string中设置的数组.数组中由固定写好的值.此时便可在界面设置好下拉列表. <Spinner android:id="@+id/spinner1" android:layout_w

  • C语言 文件操作解析详解及实例代码

    C语言文件操作解析 在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作.下面介绍一下这些操作中涉及到的函数. 一.移动位置指针的函数 rewind函数和fseek函数,这两个函数的原型是: void rewind(FILE *fp);     将位置指针移动到文件首 int fseek(FILE *fp,long int offset,int origin);   将位置指针移动到距离origin的offset字节数的位置 其中对于fseek函数中的参数,origin为起始点,offs

  • Android 轻松实现语音识别详解及实例代码

    使用Intent调用语音识别程序 说明 Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到语音识别设备,就会抛出异常 ActivityNotFoundException,所以我们需要捕捉这个异常.而且语音识别在模拟器上是无法测试的,因为语音识别是访问google 云端数据,所以如果手机的网络没有开启,就无法实现识别声音的!一定要开启手机的网络,如果手机不存在语音识别功能的话,也是无法启用识别! 注意:使用前需要安装语音识别程序.如<语音搜索>

  • Android App增量更新详解及实例代码

    Android App增量更新实例--Smart App Updates        介绍 你所看到的,是一个用于Android应用程序增量更新的开源库. 包括客户端.服务端两部分代码. 原理 自从 Android 4.1 开始,Google引入了应用程序的增量更新. Link: http://developer.android.com/about/versions/jelly-bean.html Smart app updates is a new feature of Google Pla

  • Android 自定义gradle property详解及实例代码

    Android 自定义gradle property 在Android studio上运行项目,gradle的配置是必不可少的,但是随着项目的逐渐成长,迎面而来的就是.各种依赖包的添加,数不胜数的签名,渠道包等,整个gradle变得很乱,这样其实我们可以将gradle的部分内容分离出来放在另一个自定义gradle内. 如这时我们添加的Plugin 就只要对其赋值就可以了. 步骤: 在总项目根目录下创建 dependencies.gradle文件(名字可以自定义) 根目录下创建的自定义内容如下:

随机推荐