有时候我们发送广播可能不是一条消息,也可能需要发送一个类封装的对象,这时候可以用到json,
下面通过一个小demo来了解如何简单使用。
随便写一个bean
Person实体 public class Person { private String name; private int age; /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } /** * @return the age */ public int getAge() { return age; } /** * @param age the age to set */ public void setAge(int age) { this.age = age; } @Override public String toString() { return name + ":" +age; } }
,第二步是转换成json字符串
生成Json字符串 Gson gson = new Gson(); List<Person> persons = new ArrayList<Person>(); for (int i = 0; i < 10; i++) { Person p = new Person(); p.setName("name" + i); p.setAge(i * 5); persons.add(p); } String str = gson.toJson(persons);
z转换后的值就是:[{"name":"name0","age":0},{"name":"name1","age":5},{"name":"name2","age":10},{"name":"name3","age":15},{"name":"name4","age":20},{"name":"name5","age":25},{"name":"name6","age":30},{"name":"name7","age":35},{"name":"name8","age":40},{"name":"name9","age":45}]
这样,我们就把json数据转换好了。
那么我们从广播接受者那里拿到了这个json字符串如何反序列化成原来的javabean呢?其实也很简单:
一句就搞定:Person person = gson.fromJson(str, Person.class);
str是获取到的json字符串,当然,刚刚传过来的不是一个单独的类,而是一个person集合,那我们就转换成集合吧。
List<Person> ps = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType()); for(int i = 0; i < ps.size() ; i++) { Person p = ps.get(i); System.out.println(p.toString()); }
这上面用到了一个typeToken,其实就是gson提供的数据类型转换器,把你的person集合传进去自动转了,可以看出,它能够接受任意类型的转换的。
其实json用处很广,只要是用到了不能直接传类而可以传字符串的时候都能用到。
ps:Android新手,欢迎指正。
相关推荐
这在处理服务器响应、存储数据或在网络间传递数据时非常有用。以下是一些核心概念和用法: 1. **创建Gson实例**: 要使用Gson,首先需要创建一个Gson对象实例。这可以通过调用`new Gson()`来完成。 2. **对象到...
JSON数据通常包含键值对,可以表示对象、数组等结构,非常适合在网络间传递数据。 Gson库则是Google为Java平台设计的,它能够将Java对象转换成JSON字符串,反之亦然。在处理复杂的JSON数据时,Gson提供了灵活且高效...
在Android开发中,JSON(JavaScript Object...通过这种方式,你可以轻松地在服务器和客户端之间交换数据,或者在不同模块之间传递信息。在实际项目中,记得根据需求进行异常处理和性能优化,以确保代码的稳定性和效率。
在多级`RecyclerView`中,适配器需要处理更复杂的逻辑,例如在不同的层次之间传递数据和事件。 通过学习这个Demo,开发者可以掌握如何构建一个多层级、可滑动切换的UI,并了解如何使用`Gson`解析本地数据,这对于...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,所以在Web服务和应用程序之间传递数据时被广泛采用。Gson库通过简单的API调用,使得开发者可以...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,而广泛应用于Web服务和应用程序之间传递数据。 GSON库的核心功能在于它能将Java对象序列化为...
在Android应用中,Gson可以用来保存用户数据、与服务器进行数据交换,或者在不同的Activity之间传递数据。 **序列化过程** 1. **创建Java对象**:首先,你需要定义一个Java类,它代表你要序列化的对象。这个类可以...
Gson是Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。它的全称为Google Simple Serialization for Java,其主要目标是提供一个简单、高效的方式来将Java对象转换为JSON字符串,反之亦然。Gson库...
这使得我们能方便地在本地存储数据或者在网络请求中传递数据。 在处理可变长数据时,Gson的灵活性体现出来。例如,假设你有一个用户对象,其属性可能包括姓名、年龄、地址等,但这些属性的数量和类型可能会根据不同...
在Java编程中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,适用于在网络应用程序之间传递数据。Gson库使得Java对象能够轻松地被转换成JSON格式的字符串,同时也能将JSON字符串反序列化...
Gson是Google开发的一个Java库,用于将Java对象转换为JSON字符串,以及将JSON内容解析回等效的Java对象。...通过了解和掌握Gson的使用,你将能够更好地利用JSON这一数据交换格式在各种Java应用中传递和处理数据。
在实际应用中,Gson广泛应用于网络请求的响应解析、存储JSON格式的数据到文件或数据库、或者在Java对象之间传递JSON数据。由于其简单易用且功能强大,Gson成为了Java开发者处理JSON的首选库之一。 总结起来,Gson是...
当我们需要在两个Activity之间传递数据时,通常有多种方法,如Intent、Bundle、静态变量、文件、数据库等。本教程将聚焦于一种更为灵活的方式:通过接口进行数据传递。这种方式在某些复杂场景下特别有用,例如当数据...
它基于JavaScript的一个子集,通常用于在Web服务和客户端应用程序之间传递数据。Gson是Google开发的一个Java库,其主要功能是将Java对象转换为JSON格式的字符串,以及将JSON字符串反序列化回Java对象。这个库因其...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于服务器向客户端传递数据,或在不同系统之间交换数据。 Gson-2.7.jar是Gson库的一个特定版本,包含了所有必要的类和方法,使得开发者能够...
这对于存储数据、发送HTTP请求或在不同的系统间传递数据非常有用。Gson库的核心类包括Gson,它负责实际的转换工作;JsonElement,它是所有JSON结构的基类,包括JsonObject(表示JSON对象)、JsonArray(表示JSON数组...
4. **数据传递和解析方便**:Gson提供了一种直接将Java对象绑定到JSON文本的机制,使得在服务器与客户端之间传递数据时,可以方便地进行序列化和反序列化操作,无需手动处理JSON字符串。 ### Gson的基本使用 #### ...
标题 "com.google.code.gson的jar" 指的是Google开源项目Gson的Java库,它是一个Java编程语言的JSON(JavaScript Object ...无论是进行网络通信、存储数据还是在不同组件间传递信息,Gson都是一个值得信赖的选择。
Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全称是Google Simple JSON,其版本2.6.2是一个稳定且广泛使用的版本,为开发者提供了高效、灵活且功能丰富的JSON操作工具。在这个...
Gson是Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。这个库使得Java对象可以轻松地序列化为JSON格式,同时也可以从JSON字符串反序列化回Java对象。在本例中,我们将深入探讨如何使用Gson库进行...