JSON

70 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

JSON

json是一种轻量级(和xml相比)的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,而且很多语言都提供了对json的支持

数据交换指的是客户端和服务器业务数据的传递格式。

JSON在客户端(js)的使用

创建

json是由键值对组成,并且由花括号(大括号)包围。每个键由引号引起来,键和值之间使用冒号进行分隔,多组键值对之间进行逗号进行分隔。

var jsonobj = {
	"key1":12,
	"key2":"abc",
	"key3" :true,
	"key4" :[11, "arr" ,false],
	"key5":{
		"key5_ _1”: 551,
		"key5_ 2" : "key5_ _2_ value"
	},
	"key6":[{
			"key6_ 1 1" :6611,
			"key6_ 1 _2":"key6_ 1 _2_ value'
		},{
			"key6_2 _1" :6621,
			"key6_ 2_ .2":"key6_ .2_ .2. _value"
	}]
};

如果用typeof查看json属性类型,则会返回object

访问

json本身是一个对象

json中的key我们可以理解为是对象中的一个属性,json中的key访问就和访问对象的属性一样,使用jsonname.key的形式访问

两种存在形式&两个常用方法

json的存在有两种形式:

  • 以对象的形式存在(json对象)----json字符串通过方法JSON.parse()解包而来
  • 以字符串的形式存在(json字符串)----json对象通过方法JSON.stringify()打包而来

我们要对json中的数据进行操作时,使用json对象格式

我们在客户端和服务器之间进行数据交换的时候,使用json字符串

JSON在服务器端(java)的使用

  1. 首先我们要进行导包操作
  2. 建立javabean,接下来我们就能将JavaBean的实例对象用Gson类实例的toJson方法直接转换为json字符串(可以通过gson.fromJson(JsonString, JavaBean.class)转换回JavaBean对象)

list、map集合也可以通过toJson转换为json字符串,形式为数组内包含json对象,但反向转换时可能会出现问题,需要新建类中写入对应泛型,将新建的类做参数:

from.fromJson(personMapJsonString,new PersonMapType().getType());

或用匿名内部类的形式:

from.fromJson(personMapJsonString,new TypeToken<HashMap<>());