JSON基础

本文介绍了JSON和GSON相关知识。JSON是轻量级数据交换格式,结构简洁,网络传输效率比XML高。阐述了JSON的结构和格式,还展示了GSON的序列化和反序列化实例,最后提到后续将处理JSON嵌套等复杂情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON初识

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集。
JSON结构简洁和清晰, 易于人阅读和编写,同时也易于机器解析和生成,相对于XML网络传输效率更高,使得 JSON 成为理想的数据交换语言。

JSON结构

JOSN基于两种数据结构:
  1. JSON是一系列键值对的集合,可被实现为对象,记录,结构字典,哈希表,相关数组。

  2. 一组有序值列表,在大多数语言中可用array,vector,list,sequece实现。

JSON格式

1.object
JSON中一个对象即为无序的键值对序列,以左大括号"{“开始,以右大括号”}"结束。
每个名字后跟随冒号“:”分隔,名称/值一逗号“,”分隔。

在这里插入图片描述
2.array
array是一个值得有序集合,以左左大括号“[”开始,右大括号“】”结束,值使用逗号“,”分隔。

在这里插入图片描述
3.value
JSON的值可以是以双引号“”包括的字符串,数字,true,false,null或是对象,数组,
嵌套结构。

在这里插入图片描述
4.string
字符串是零个或多个Unicode字符,包含在双引号内,或者使用转义字符,类似C,java的字符串。

在这里插入图片描述

5.number
JSON数字类似C和java的数字,只是不使用八进制数和16进制数。

在这里插入图片描述

GSON序列化

GSON可以将一个object序列化,下面我们看实例:

Gson gson = new Gson();
Employee e = new Employee("peter",30000,1999,06,07);
String s = gson.toJson(e);
System.out.println(s);

序列化得结果:
{“name”:“peter”,“salary”:30000.0,“hireDay”:{“year”:1999,“month”:6,“day”:7}}

GSON反序列化

下面将一下Json 反序列化:

String ss = "{\"name\":\"peter\",\"salary\":30000.0,\"hireDay\":{\"year\":1999,\"month\":6,\"day\":7}}";
Employee ee = gson.fromJson(ss, Employee.class);
System.out.println(ee.toString());

反序列化结果为:
name:peter, salary:30000.0, hireDay:1999-06-07

总结

了解GSON的基本概念,进行了序列化和反序列化的简单测试,后续要涉及一些比较复杂的处理,如JSON嵌套如何处理等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值