`
zhonglunshun
  • 浏览: 139645 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

gson传递类数据

阅读更多

有时候我们发送广播可能不是一条消息,也可能需要发送一个类封装的对象,这时候可以用到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新手,欢迎指正。

 

分享到:
评论

相关推荐

    Gson包工具类

    这在处理服务器响应、存储数据或在网络间传递数据时非常有用。以下是一些核心概念和用法: 1. **创建Gson实例**: 要使用Gson,首先需要创建一个Gson对象实例。这可以通过调用`new Gson()`来完成。 2. **对象到...

    使用gson解析数据

    JSON数据通常包含键值对,可以表示对象、数组等结构,非常适合在网络间传递数据。 Gson库则是Google为Java平台设计的,它能够将Java对象转换成JSON字符串,反之亦然。在处理复杂的JSON数据时,Gson提供了灵活且高效...

    android中使用gson来创建和解析json数据

    在Android开发中,JSON(JavaScript Object...通过这种方式,你可以轻松地在服务器和客户端之间交换数据,或者在不同模块之间传递信息。在实际项目中,记得根据需求进行异常处理和性能优化,以确保代码的稳定性和效率。

    TabLayout+ViewPager+Fragment复用+Gson解析本地数据

    在多级`RecyclerView`中,适配器需要处理更复杂的逻辑,例如在不同的层次之间传递数据和事件。 通过学习这个Demo,开发者可以掌握如何构建一个多层级、可滑动切换的UI,并了解如何使用`Gson`解析本地数据,这对于...

    gson-2.8.0

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,所以在Web服务和应用程序之间传递数据时被广泛采用。Gson库通过简单的API调用,使得开发者可以...

    gson-2.8-6.jar

    在实际应用中,Gson广泛应用于网络请求的响应解析、存储JSON格式的数据到文件或数据库、或者在Java对象之间传递JSON数据。由于其简单易用且功能强大,Gson成为了Java开发者处理JSON的首选库之一。 总结起来,Gson是...

    Android 下用GSON示例

    在Android应用中,Gson可以用来保存用户数据、与服务器进行数据交换,或者在不同的Activity之间传递数据。 **序列化过程** 1. **创建Java对象**:首先,你需要定义一个Java类,它代表你要序列化的对象。这个类可以...

    Gson基本使用方法

    Gson是Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。它的全称为Google Simple Serialization for Java,其主要目标是提供一个简单、高效的方式来将Java对象转换为JSON字符串,反之亦然。Gson库...

    google-gson-2.2.1

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,而广泛应用于Web服务和应用程序之间传递数据。 GSON库的核心功能在于它能将Java对象序列化为...

    Android Gson解析案例

    这使得我们能方便地在本地存储数据或者在网络请求中传递数据。 在处理可变长数据时,Gson的灵活性体现出来。例如,假设你有一个用户对象,其属性可能包括姓名、年龄、地址等,但这些属性的数量和类型可能会根据不同...

    Gson2.8.5+tools.zip

    在Java编程中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,适用于在网络应用程序之间传递数据。Gson库使得Java对象能够轻松地被转换成JSON格式的字符串,同时也能将JSON字符串反序列化...

    gson-2.8.5 开发包

    Gson是Google开发的一个Java库,用于将Java对象转换为JSON字符串,以及将JSON内容解析回等效的Java对象。...通过了解和掌握Gson的使用,你将能够更好地利用JSON这一数据交换格式在各种Java应用中传递和处理数据。

    activity与activity利用接口相互传递数据

    当我们需要在两个Activity之间传递数据时,通常有多种方法,如Intent、Bundle、静态变量、文件、数据库等。本教程将聚焦于一种更为灵活的方式:通过接口进行数据传递。这种方式在某些复杂场景下特别有用,例如当数据...

    解析json的gson

    它基于JavaScript的一个子集,通常用于在Web服务和客户端应用程序之间传递数据。Gson是Google开发的一个Java库,其主要功能是将Java对象转换为JSON格式的字符串,以及将JSON字符串反序列化回Java对象。这个库因其...

    gson-2.7.jar.zip

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于服务器向客户端传递数据,或在不同系统之间交换数据。 Gson-2.7.jar是Gson库的一个特定版本,包含了所有必要的类和方法,使得开发者能够...

    JSONArray和Gson的jar

    这对于存储数据、发送HTTP请求或在不同的系统间传递数据非常有用。Gson库的核心类包括Gson,它负责实际的转换工作;JsonElement,它是所有JSON结构的基类,包括JsonObject(表示JSON对象)、JsonArray(表示JSON数组...

    Gson的基本使用

    4. **数据传递和解析方便**:Gson提供了一种直接将Java对象绑定到JSON文本的机制,使得在服务器与客户端之间传递数据时,可以方便地进行序列化和反序列化操作,无需手动处理JSON字符串。 ### Gson的基本使用 #### ...

    com.google.code.gson的jar

    标题 "com.google.code.gson的jar" 指的是Google开源项目Gson的Java库,它是一个Java编程语言的JSON(JavaScript Object ...无论是进行网络通信、存储数据还是在不同组件间传递信息,Gson都是一个值得信赖的选择。

    gson-2.6.2

    Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全称是Google Simple JSON,其版本2.6.2是一个稳定且广泛使用的版本,为开发者提供了高效、灵活且功能丰富的JSON操作工具。在这个...

    Gson解析的一个例子

    Gson是Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。这个库使得Java对象可以轻松地序列化为JSON格式,同时也可以从JSON字符串反序列化回Java对象。在本例中,我们将深入探讨如何使用Gson库进行...

Global site tag (gtag.js) - Google Analytics