android gson转换对象

2024-06-22 13:32
文章标签 android 对象 转换 gson

本文主要是介绍android gson转换对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

</pre>Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. <span style="white-space:pre">	</span>从结构上看,所有的数据(data)最终都可以分解成三种类型: <span style="white-space:pre">	</span>第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词。 <span style="white-space:pre">	</span>第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海"。 <span style="white-space:pre">	</span>第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比如"首都:北京"。 <span style="white-space:pre">	</span>Json的规格非常简单,只用一个页面几百个字就能说清楚,而且Douglas Crockford声称这个规格永远不必升级,因为该规定的都规定了。 <span style="white-space:pre">	</span>1) 并列的数据之间用逗号(",")分隔。 <span style="white-space:pre">	</span>2) 映射用冒号(":")表示。 <span style="white-space:pre">	</span>3) 并列数据的集合(数组)用方括号("[]")表示。 <span style="white-space:pre">	</span>4) 映射的集合(对象)用大括号("{}")表示。 <span style="white-space:pre">	</span>在Android中可以使用Gson解析JSON数据 <span style="white-space:pre">	</span>首先,从 code.google.com/p/google-gson/downloads/list下载GsonAPI: <span style="white-space:pre">	</span>google-gson-1.7.1-release.zip <span style="white-space:pre">	</span>把gson-1.7.jar copy到libs(项目根目录新建一个libs文件夹)中。 <span style="white-space:pre">	</span>可以使用以下两种方法解析JSON数据: <span style="white-space:pre">	</span>通过获取JsonReader对象解析JSON数据: <span style="white-space:pre">	</span>复制代码 代码如下:<div id="code33297" class="codebody"><pre name="code" class="java">public static void main(String[] args) {String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]";try {JsonReader reader = new JsonReader(new StringReader(jsonData));reader.beginArray();while (reader.hasNext()) {reader.beginObject();while (reader.hasNext()) {String tagName = reader.nextName();if (tagName.equals("username")) {System.out.println(reader.nextString());} else if (tagName.equals("userId")) {System.out.println(reader.nextString());}}reader.endObject();}reader.endArray();} catch (Exception e) {e.printStackTrace();}// 通过把JSON数据映射成一个对象,使用Gson对象的fromJson()方法获取一个对象数组进行操作:// 创建JSON数据对应的一个POJO对象User.java:// 复制代码 代码如下:// 使用Gson对象获取User对象数据进行相应的操作:// 复制代码 代码如下: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(user.getUsername());System.out.println(user.getUserId());}// 如果要处理的JSON字符串只包含一个JSON对象,则可以直接使用fromJson获取一个User对象:// 复制代码 代码如下:// String jsonData = "{\"username\":\"arthinking\",\"userId\":001}";// Gson gson = new Gson();User user = gson.fromJson(jsonData, User.class);System.out.println(user.getUsername());System.out.println(user.getUserId());}class User {private String username;private int userId;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}}


这篇关于android gson转换对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084430

相关文章

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存