JSON介绍及使用
创始人
2024-11-14 07:11:58
0

目录

什么是JSON

JSON在JavaScript中的使用

JSON的定义

JSON的访问

JSON的两个常用方法

JSON在Java中的使用

JavaBean和JSON的相互转换

List和JSON的相互转换

Map和JSON的相互转换


什么是JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,而且很多语言都提供了对JSON的支持,包括C,C++,C#,Java,JavaScript,Perl,Python等,这就使得JSON成为理想的数据交换格式。

说明:轻量级指的是与xml作比较,数据交换指的是客户端和服务器之间业务数据的传递格式

JSON在JavaScript中的使用

JSON的定义

JSON是由键值对组成,并且由花括号包围,每个键由引号引起来,键和值之间用冒号分隔,多组键值对之间用逗号分隔。

JSON的访问

JSON本身是一个对象,JSON中的key可以理解为对象中的一个属性,JSON中访问key和访问对象的属性一样:JSON对象.key

JSON的两个常用方法

JSON的存在有两种形式:

  • 对象的形式存在,称为JSON对象
  • 字符串的形式存在,称为JSON字符串

两种形式可以相互转换:

  • JSON.stringify():把JSON对象转换为JSON字符串,类似于Java中的toString()
  • JSON.parse():把JSON字符串转化为JSON对象

使用场景:

  • 一般要操作JSON中的数据时,使用JSON对象
  • 一般要在客户端和服务器之间进行数据交换时,使用JSON字符串

JSON在Java中的使用

JavaBean和JSON的相互转换

@Test public void test1(){     Person person = new Person(1,"你好");     //创建Gson对象实例     Gson gson = new Gson();     //toJson可以把Java对象转换为JSON字符串     String personJsonString = gson.toJson(person);     System.out.println(personJsonString);     //fromJson把JSON字符串转换回Java对象,第一个参数是JSON字符串,第二个参数是转换回去的Java对象类型     Person person1 = gson.fromJson(personJsonString,Person.class);     System.out.println(person1); }

输出为:

{"id":1,"name":"你好"} 

Pserson{id=1,name='你好'}

List和JSON的相互转换

@Test public void test2(){     List personList = new ArrayList<>();     personList.add(new Person(1,"张三");     personList.add(new Person(2,"李四");      Gson gson = new Gson();     //把List转换为JSON字符串     String personListJsonString = gson.toJson(personList);     System.out.println(personListJsonString);     List list = gson.fromJson(personListJsonString,new PersonListType().getType());     System.out.println(list);      } 

输出为:

[{"id":1,"name":"张三"},{"id":2,"name":"李四"}] 

[Person{id=1,name='张三'},Person{id=2,name='李四'}]

Map和JSON的相互转换

@Test public void test3(){     Map personMap = new HashMap<>();     personMap.put(1,new Person(1,"张三"));     personMap.put(2,new Person(2,"李四"));      Gson gson = new Gson();     //把Map集合转换为JSON字符串     String personMapJsonString = gson.toJson(personMap);     System.out.println(personMapJsonString);      Map personMap2 = gson.fromJson(personMapJsonString,new PersonMapType().getType());     System.out.println(personMap2); }

输出为:

{"1":{"id":1,"name":"张三"},"2":{"id":2,"name":"李四"}}

{1=Person{id=1,name="张三"},2=Person{id=2,name="李四"}}

相关内容

热门资讯

四分钟德州!(河落杠次)其实是... 四分钟德州!(河落杠次)其实是真的有挂,河落杠次是有挂的吗,详细教程(有挂技术)-哔哩哔哩;河落杠次...
八分钟分钟!澳门太阳城其实确实... 您好,澳门太阳城这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款游...
3分钟辅助挂!(wpk苹果版)... 3分钟辅助挂!(wpk苹果版)其实确实是有挂,wpk苹果版软件透明挂,详细教程(有挂实锤)-哔哩哔哩...
十分钟针对!(WPK最新版)真... 《十分钟针对!(WPK最新版)真的是有挂吗,天天欢乐德州其实真实是有挂,详细教程(有挂秘诀)-哔哩哔...
六分钟分钟!WePoKer原来... 六分钟分钟!WePoKer原来是确实有挂,WePoKer2025已更新详细教程(2025已更新)(哔...
一分钟分钟!长乐互娱其实真实是... 一分钟分钟!长乐互娱其实真实是有挂的,青龙大厅免费辅助器,详细教程(2023已更新)(哔哩哔哩);长...
4分钟机器人!(南宁老友麻将)... 4分钟机器人!(南宁老友麻将)其实确实存在有挂的,南宁老友麻将是有挂吗,详细教程(有挂规律)-哔哩哔...
4分钟分钟!钟祥麻将确实真有挂... 4分钟分钟!钟祥麻将确实真有挂辅助挂吗,钟祥麻将2022已更新详细教程(2022已更新)(哔哩哔哩)...
2分钟苹果版!(龙腾游戏)确实... 2分钟苹果版!(龙腾游戏)确实是有挂猫腻,龙腾游戏确实是有挂吗,详细教程(有挂透明挂)-哔哩哔哩;一...
4分钟分钟!心悦联盟其实是真的... 4分钟分钟!心悦联盟其实是真的有挂,心悦联盟2023已更新详细教程(2023已更新)(哔哩哔哩);亲...