json数据格式和gson解析json的应用

首先json的数据格式分为三种:数组、对象、数组对象混合

数组格式:

{"asd","qwe","ffe"}

对象格式:

{"a":1,"b":2,"c":3}  注意写代码中要加入转义字符\来获取双引号:\"

数组对象混合格式:

{   [

{"a":1,"b":2},

{"c":3,"d":4}

]

[

....

]

}

用Gson解析Json,如果是有对象格式,需要使用javabean来实现,代码如下:

1 //Object转换为对象
2         String str = "{\"data\":[{\"name\":sad,\"age\":18},{\"name\":ddd,\"age\":13}]}";
3         Gson g = new Gson();
4         ListPerson list = g.fromJson(str,ListPerson.class);
5         for (Person p:list.getList()){
6             System.out.println("age:"+p.getAge()+" name:"+p.getName());
7         }

因为是数组+对象的混合格式,需要两个javabean来实现,以下是javabean方面的代码:

 1 static class Person{
 2         public String name ;
 3         public int age;
 4         public String getName() {
 5             return name;
 6         }
 7
 8         public void setName(String name) {
 9             this.name = name;
10         }
11
12         public int getAge() {
13             return age;
14         }
15
16         public void setAge(int age) {
17             this.age = age;
18         }
19     }
20
21     static class ListPerson{
22         List<Person> data ;
23
24         public List<Person> getList() {
25             return data;
26         }
27
28         public void setList(List<Person> list) {
29             this.data = list;
30         }
31     }

注意点:名字要一一对应,因为在json中我的数组名是data,所以在javabean中什么的变量名也要是data,以下是换了别的名字,控制台输出信息:

java.lang.NullPointerException

接下来是对象转换为json数据格式,代码如下:

1 Map<String,Integer> map = new HashMap<>();
2         map.put("a",1);
3         map.put("b",2);
4         map.put("c",3);
5         System.out.println(new Gson().toJson(map));

如果在使用数组格式的json数据,要获取泛型类的类型,在gson中提供了一个方法

new TypeToken<List<Map.Entry<String,String>>>(){}.getType()

参考链接:https://www.jianshu.com/p/e740196225a4

原文地址:https://www.cnblogs.com/shigeng/p/8631385.html

时间: 2024-08-24 01:43:26

json数据格式和gson解析json的应用的相关文章

通过Gson解析Json数据

Json是一种数据格式,便于数据传输.存储.交换:Gson是一种组件库,可以把java对象数据转换成json数据格式. gson.jar的下载地址:http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22gson%22 一.Json数据样式 为了便于理解我们先来看看Json的数据样式: 1. 单个数据对象 { "id": 100, "body": "It is my post", "numbe

【Android进阶】Gson解析json字符串的简单应用

在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json.这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式,如果使用SAX解析方式,则可以一边加载一边解析,对于数据量比较大的应用,比较适合.今天主要整理一下使用Gson解析json格式字符串的简单使用. 首先,必须导入外部包 /** * * @author ZhaoKaiQiang * * @time 2014年5月4日 */ public class J

JSONObject 和 GSON 解析 JSON 数据详解(转)

转载:http://www.jianshu.com/p/f99de3ec0636 点此进入:从零快速构建APP系列目录导图 点此进入:UI编程系列目录导图 点此进入:四大组件系列目录导图 点此进入:数据网络和线程系列目录导图 本节例程下载地址:WillFLowJSON 一.JSON简介 我们之前已经掌握了 XML 格式数据的解析方式,那么接下来我们要去学习一下如何解析 JSON 格式的数据,在学习之前,我们先将这两者做一个简单的比较. XML与JSON的对比: JSON和XML的数据可读性基本相

android之GSON解析JSON

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库. 比如: <pre name="code" class="java">public class Order { public String id; public String OrderName; @Override public String toString() { return "id:"+id+",OrderNa

JSON格式之GSON解析

JSON格式之GSON解析 最近在做websocket相关,项目需要JSON解析.相较之下感觉google的GSON解析不错. JAVA后台 Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法 1.对象类型 采用上图的第一种方法. Gson gson =new Gson(); User user= gson.fromJson(str, User.class); 2.Map.List等 采用上图的第二种方法. Type type = new TypeToken<Ma

Android中使用Gson解析JSON数据的两种方法

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. 从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词. 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组

使用Gson解析Json

1.Json介绍 JSON的全称是"JavaScript Object Notation",即JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格式.两者的区别:因为XML虽然可以作为跨平台的数据交换格式,但是在JS中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们倾向于选择JSON来交换数据. 2.Json的两种结构 JSON有两种表示结构,对象和数

Android--------使用gson解析json文件

##使用gson解析json文件 **json的格式有两种:** **1. {}类型,及数据用{}包含:** **2. []类型,即数据用[]包含:** 下面用个例子,简单的介绍gson如何解析json,仅使用~ 先发两个json 内容 1.最外层是{} {             "resp": "ok",         "result": {             "date": "2013-4-19 16:

Google Gson解析Json数据应用实例

转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gson(gson-xxx.jar)下载地址:http://code.google.com/p/google-gson/downloads/list 2)JUnit4 2. 应用实例代码 下载地址:http://download.csdn.net/source/3499627 包括如下类: 1)普通Jav