比起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 解析JSON格式数据的更多相关文章

  1. 实现android上解析Json格式数据功能

    实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...

  2. 解析json格式数据

    实现目标 读取文件中的json格式数据,一行为一条json格式数据.进行解析封装成实体类. 通过google的Gson对象解析json格式数据 我现在解析的json格式数据为: {",&qu ...

  3. Android读取JSON格式数据

    Android读取JSON格式数据 1. 何为JSON? JSON,全称为JavaScript Object Notation,意为JavaScript对象表示法. JSON 是轻量级的文本数据交换格 ...

  4. Android创建JSON格式数据

    Android创建JSON格式数据 作为上一篇博客的补充,简单那解说了一下Android创建JSON格式数据的小Demo. 1. 创建JSON格式数据 对于Android创建JSON格式数据.因为An ...

  5. Android之JSON格式数据解析

    查看原文:http://blog.csdn.net/hantangsongming/article/details/42234293 JSON:JavaScript 对象表示法(JavaScript ...

  6. 用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  7. $Java-json系列(一):用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  8. ObjectMapper用于将java对象转换为json格式数据以及JSONObject对象解析json格式数据

    ObjectMapper objectMapper = new ObjectMapper(); //反序列化的时候如果多了其他属性,不抛出异常 objectMapper.configure(Deser ...

  9. Android中解析JSON格式数据常见方法合集

    待解析的JSON格式的文件如下: [{"id":"5", "version":"1.0", "name&quo ...

随机推荐

  1. 阻塞式socket例子学习

    /************************************************************************* > File Name: Win_Serve ...

  2. docker快速启动脚本

    #!/bin/sh PID=$(docker inspect --format "{{.State.Pid}}" $1) nsenter -t $PID -u -i -n -p n ...

  3. js生成一个以零开头的八位数并且依次递增

    条件:1八位数:2.以领开头:3.末尾要依次递增 <script type="text/javascript">function Account(num,a){ // ...

  4. 拍拍装修<a href="" > 搜狐 “兼容模式”下失效,解决办法

    代码 <a href="http://www.baidu.com"> <p style="></p> <p style=&quo ...

  5. inpyt 按钮变透明 边框

    变透明: .btn{width: 80px;height: 36px;margin-left: 22px;border: none;cursor: pointer;background: none;}

  6. HTML5 Web Form 新增属性和表单验证

    <form>标签的基本属性 method属性:指定浏览器向服务器传送数据的方式,可选: action属性:设置服务器接受和处理表单数据的URL: enctype属性:制定表单数据在发送到服 ...

  7. Description DisplayName Display的关系

    Description  DisplayName  Display的关系 ?

  8. 【Delphi】GIF 动画建立

    var Gif:TGifImage; begin //Setting the delay for each frame TGIFGraphicControlExtension.; TGIFGraphi ...

  9. Centos7安装rabbitmq server 3.6.0

    ###假设所有操作在opt目录下进行 cd /opt mkdir apps cd apps ### 下载 RabbitMQ Server wget http://www.rabbitmq.com/re ...

  10. .NET Core、DNX、DNU、DNVM、MVC6学习资料

    一.资源 1.http://dotnet.github.io/ 2.http://www.codeproject.com/Articles/1005145/DNVM-DNX-and-DNU-Under ...