SpringBoot前后端传递数据时常用的JSON格式数据是什么?
JSON概念
JSON:JavaScript Object Notation 【JavaScript 对象表⽰法】
JSON是⼀种轻量级的数据交互格式. 它基于 ECMAScript (欧洲计算机协会制定的js规范)的⼀个⼦集,采⽤完全独⽴于编程语⾔的⽂本格式来存储和表⽰数据。
简单来说:JSON就是⼀种数据格式, 有⾃⼰的格式和语法, 使⽤⽂本表⽰⼀个对象或数组的信息, 因此JSON本质是字符串. 主要负责在不同的语⾔中数据传递和交换.
JSON语法
- JSON语法格式:
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输和存储。它使用键值对的方式来表示数据,具有以下语法规则:
- 数据在键值对中,键和值之间使用冒号(:)分隔。
- 键值对之间使用逗号(,)分隔。
- 数据由花括号({})包围,表示对象。
- 数据由方括号([])包围,表示数组。
- 字符串使用双引号(“”)包围。
{
"name": "John Doe",
"age": 30,
"email": "[email protected]",
"address": {
"street": "123 Main Street",
"city": "Anytown",
"state": "CA",
"zip": "12345"
},
"hobbies": ["hiking", "reading", "cooking"]
}
JSON的两种结构:
JSON有两种常见的结构:对象(Object)和数组(Array)。
- 对象是由键值对组成的无序集合,使用花括号({})表示。每个键值对之间使用逗号(,)分隔。
- 数组是由值组成的有序集合,使用方括号([])表示。每个值之间使用逗号(,)分隔。
JSON字符串和Java对象互转:
objectMapper.writeValueAsString(person);
objectMapper.readValue(jsonStr,Person.class);
在Java中,你可以使用Jackson库来实现JSON字符串和Java对象之间的互转。以下是一个简单的示例代码:
public class JSONUtils {
private static ObjectMapper objectMapper = new ObjectMapper();
public static void main(String[] args) throws JsonProcessingException {
Person person = new Person();
person.setId(5);
person.setName("zhangsan");
person.setPassword("123456");
//对象转为JSON字符串
String jsonStr = objectMapper.writeValueAsString(person);
System.out.println("JSON字符串为:"+jsonStr);
//JSON字符串转为对象
Person p = objectMapper.readValue(jsonStr,Person.class);
System.out.println("转换的对象id:"+p.getId()+",name:"+p.getName()+",passwo
}
}