三种方法:
private String jsonData1 = "[{\"name\":\"tom\",\"age\":\"20\"},{\"name\":\"lily\",\"age\":\"21\"}]";
1。解析方法
public void parseJson(String jsonData){
try {
//如果需要解析JSON数据,首先要生成JsonReader对象
JsonReader reader = new JsonReader(new StringReader(jsonData));
/**
* 1.现在开始解析一个数组
* 2.开始解析对象
* 3.解析键值对
* 4.解析键值对
* 5.解析对象结束
* 6。开始解析对象
* 7.解析键值对
* 8.解析键值对
* 9.解析对象结束
* 10.解析数组结束
*/
reader.beginArray();
while(reader.hasNext()){//有没有下一个
reader.beginObject();
while(reader.hasNext()){//判断有没有键值对
String tagname = reader.nextName();
if(tagname.equals("name")){
System.out.println("name=------>" + reader.nextString());
}else if(tagname.equals("age")){
System.out.println("age--->" + reader.nextInt());
}
}
reader.endObject();
}
reader.endArray();
} catch (IOException e) {
e.printStackTrace();
}
}
解析方法二:
public void parseJson(String jsonData){
System.out.println(jsonData);
Gson gson = new Gson();
User user = gson.fromJson(jsonData, User.class);
System.out.println("name----->" + user.getName());
System.out.println("age----->" + user.getAge());
}
、、这种只能解析对象,不可以解析数组的
解析方法三:
import java.lang.reflect.Type;
import java.util.Iterator;
import java.util.LinkedList;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class JsonUtilsArray {
public void parseJson(String jsonData){
System.out.println(jsonData);
Type listType = new TypeToken<LinkedList<User>>(){}.getType();
Gson gson = new Gson();
LinkedList<User> users= gson.fromJson(jsonData, listType);
for (Iterator iterator = users.iterator(); iterator.hasNext();) {
User user = (User) iterator.next();
System.out.println("name----->" + user.getName());
System.out.println("age----->" + user.getAge());
}
}
}
分享到:
相关推荐
Retrofit是另一种流行的Android网络库,它允许更优雅地处理网络请求和响应,包括JSON解析。添加依赖: ```groovy implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation '...
二、Android中的JSON解析 在Android中,我们通常使用`org.json`库或`com.google.gson`库来解析JSON数据。 1. `org.json`库:这是Android SDK自带的一个轻量级库,主要用于解析简单的JSON数据。 - JSONObject:...
综上所述,"android采用json解析数据的实例"涵盖了从网络请求JSON数据、解析JSON、到将数据绑定到UI的全过程。学习这个实例有助于开发者深入理解Android中如何有效地处理网络数据,提高应用的用户体验。在实际开发中...
这个"android 动态解析获取json数据的键值对"的项目就是针对这种情况的一个实例,主要展示了如何在Eclipse环境下,不预先创建JSON键值对应的实体类,而是动态地解析JSON并将其内容显示在列表上。 首先,我们要理解...
对于Android开发者来说,理解和熟练掌握JSON解析至关重要。本篇文章将详细介绍如何创建一个实用的JSON数据解析封装类,以便快速有效地处理各种形式的JSON数据。 首先,我们需要引入一个JSON库,Android SDK本身包含...
总的来说,理解Android中的JSON解析机制是移动开发中的必备技能。无论是简单的键值对还是复杂的嵌套结构,`org.json`包都能提供有效的工具来处理JSON数据,使应用程序能够流畅地与服务器进行数据交换。
这个“android json数据下载与解析demo”涵盖了Android开发中的多个重要概念,包括网络请求、JSON解析、异步操作以及数据展示。通过学习和实践这个示例,开发者可以更好地理解和掌握Android应用中与网络交互和数据...
本篇将深入探讨如何在Android中解析JSON数据。 首先,我们需要了解JSON的基本结构。JSON数据可以表示为对象或数组,对象由键值对组成,用花括号{}包围,键和值之间用冒号隔开,多个键值对用逗号分隔;数组是一系列...
总结,Android平台下的JSON解析主要依靠org.json库中的JSONObject和JSONArray类。理解这些基本操作,开发者能够方便地处理从服务器获取的JSON数据,将其转化为应用程序可操作的对象,从而实现数据的展示和交互。在...
下面通过实例来详细分析 Android 原生 JSON 解析的过程。 JSONObject 和 JSONArray 在 Android 中,JSONObject 和 JSONArray 是两个重要的类,用于封装 JSON 数据。JSONObject 封装单个对象的数据,而 JSONArray ...
Android JSON解析jar指的是在Android项目中用于解析JSON数据的Java库,通常以.jar文件形式提供。 本主题主要关注的是`gson`库,这是一个由Google提供的强大JSON库,它允许将Java对象转换为JSON字符串,以及将JSON...
2. 使用Gson实例解析JSON:有了JSON字符串和对应的数据模型类,我们可以使用Gson的fromJson()方法将JSON转换为Java对象。 ```java String jsonString = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}...
总的来说,Android中的JSON解析主要依赖于org.json库提供的`JSONObject`和`JSONArray`类。通过这些类,我们可以方便地读取、写入和操作JSON数据。理解并熟练运用这些方法,能够有效地处理服务器返回的JSON数据,从而...
总的来说,Android读取JSON涉及网络请求、JSON解析和UI更新等步骤。通过熟练掌握这些技能,你可以构建出能够与服务器高效交互的应用。在实际项目中,你可能还需要考虑性能优化、错误处理和数据缓存等问题,以提供更...
这个“android demo”显然是一个展示如何在Android平台上处理JSON数据、发送JSON字符串以及进行JSON解析的示例项目。下面将详细阐述相关知识点。 一、JSON基础知识 1. JSON格式:JSON采用键值对的形式存储数据,键...
本主题聚焦于“Android Studio解析JSON对象”,这是一个非常关键且实用的技能,因为JSON作为一种轻量级的数据交换格式,广泛应用于网络通信和数据存储。JSON对象可以方便地表示各种复杂的数据结构,包括数组、键值...
本篇文章主要探讨了如何在Android环境中解析JSON数据,包括JSON Object、JSON Array以及两者混合对象的解析方法。 1. **解析JSON Object**: JSON Object由一组键值对组成,以大括号`{}`包围。例如,`{"name":...
本教程将深入探讨如何使用Gson库解析复杂的JSON实例,让你只需寥寥几行代码就能轻松处理JSON解析问题。 ### Gson库简介 Gson库的核心功能是将Java对象(如自定义类)转换为JSON字符串,反之亦然。这个库非常直观,...
1. `org.json`库:Android SDK自带的JSON解析库,提供了`JSONObject`和`JSONArray`类,支持创建、读取和修改JSON数据。例如: ```java JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "John"); ...
在Android开发中,利用Socket发送Json数据是一种常见的网络通信方式,尤其在移动应用与服务器进行实时交互时。本文将深入探讨如何在Android中实现这一功能,包括Json数据格式的使用、Socket通信的基本原理以及实际的...