您的位置:首页 > 房产 > 家装 > 做网络推广工作怎么样_找项目上哪个平台好_电商sem是什么意思_黑帽seo培训大神

做网络推广工作怎么样_找项目上哪个平台好_电商sem是什么意思_黑帽seo培训大神

2025/4/19 3:27:05 来源:https://blog.csdn.net/2401_84080967/article/details/147123691  浏览:    关键词:做网络推广工作怎么样_找项目上哪个平台好_电商sem是什么意思_黑帽seo培训大神
做网络推广工作怎么样_找项目上哪个平台好_电商sem是什么意思_黑帽seo培训大神

2025/4/14

向 

一、JSON格式

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。所以在springboot的实际项目中,我们也是使用json格式来进行数据传递。

1.1基本语法

JSON 中的对象是一个无序的键值对集合,同时不允许键值重复,键用花括号{}表示。每个键值对之间用逗号,分隔,键和值之间用冒号:分隔。例如:

{    "name": "John", "age": 30
}

所以总结来说,其json格式中对象的数据结构,就是将键值对组合成一个集合,每个键值对之间使用逗号分隔开。

JSON 中的数组类型是一组有序的值,用方括号[]表示。数组中的值可以是任何 JSON 数据类型,包括对象、数组、字符串、数字、布尔值或null。例如:

[1, 2, 3, "four", true]

 json格式中数组的数据结构是有序的,数组中的数据类型可以是json数据类型中的任意一个。

1.2 json的数据类型:

  • 字符串:用双引号""括起来的字符序列,例如:"Hello, World!"
  • 数字:可以是整数或浮点数,例如:423.14
  • 布尔值truefalse
  • null:表示空值。
  • 对象:如前面所述,用{}表示。
  • 数组:用[]表示。

如下示例是一个更复杂的JSON示例:

{"name": "John Doe","age": 30,"isStudent": false,"hobbies": ["reading", "traveling", "sports"],"address": {"street": "123 Main St","city": "Anytown","state": "CA","zip": "12345"}
}

在这个示例中,最外层是一个对象,包含了nameageisStudenthobbiesaddress等键值对。其中,hobbies是一个数组,address是一个嵌套的对象

二、SpringBoot中常用的数据结构

2.1 类对象

public class User {private Long id;private String username;private String password;/* 省略get、set和带参构造方法 */
}

很熟悉就不同过多的说。

2.2 List对象

import com.itcodai.test.entity.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@RestController
@RequestMapping("/json")
public class JsonController {@RequestMapping("/user")public User getUser() {return new User(1, "测试", "123456");}@RequestMapping("/list")public List<User> getUserList() {List<User> userList = new ArrayList<>();User user1 = new User(1, "测试", "123456");User user2 = new User(2, "测试课", "123456");userList.add(user1);userList.add(user2);return userList;}@RequestMapping("/map")public Map<String, Object> getMap() {Map<String, Object> map = new HashMap<>(3);User user = new User(1, "测试", "123456");map.put("作者信息", test);map.put("博客地址", "https://blog.csdn.net/2401_84080967?spm=1000.2115.3001.5343");map.put("CSDN地址", "http://blog.csdn.net");map.put("测试数量", 001);return map;}
}

List 是一个有序的集合接口,它允许存储重复的元素。由于是有序的,你可以通过索引来访问列表中的元素,索引从 0 开始。List 接口有多个实现类,常见的有 ArrayListLinkedList 等

在上述示例中使用的是ArrayList实现类:

  • ArrayList:基于动态数组实现,它在随机访问元素时效率较高,因为可以通过索引直接定位到元素。但在插入和删除元素时,尤其是在列表中间进行操作,效率较低,因为需要移动后续元素。
  • LinkedList:基于双向链表实现,在插入和删除元素时效率较高,尤其是在列表的头部或尾部进行操作。但随机访问元素时效率较低,因为需要从头或尾开始遍历链表。

2.3 Map对象

Map 是一种键值对(key-value)的集合接口,它不允许存储重复的键,但允许值重复。每个键对应一个值,你可以通过键来快速查找对应的值。Map 接口有多个实现类,常见的有 HashMapTreeMap 等

三、Spring Boot与Json

前端与后端数据交互

在前后端分离的开发模式下,前端和后端通常通过 HTTP 协议进行数据交互,JSON 凭借其简洁易读、易于解析的特性,成为了数据传输的首选格式。Spring Boot 作为后端框架,能够轻松地处理 JSON 数据。

例如,前端发送一个包含用户信息的 JSON 请求到 Spring Boot 后端:

{"username": "john_doe","email": "john@example.com","age": 30
}

在后端对应的JAVA对象如下:

class User {private String username;private String email;private int age;// Getters and Setters 省略
}

通过使用 @RequestBody 注解将这个 JSON 请求体自动映射到 Java 对象上

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserInfoController {@PostMapping("/users")public String createUser(@RequestBody User user) {// 处理用户信息return "User created successfully";}
}

Spring Boot 后端也可以将 Java 对象转换为 JSON 格式返回给前端,使用 @ResponseBody 注解(在 @RestController 中默认启用):

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserInfoController {@PostMapping("/users")public String createUser(@RequestBody User user) {// 处理用户信息return "User created successfully";}@GetMapping("/user-info")public User getUserInfo() {User user = new User();user.setUsername("jane_smith");user.setEmail("jane@example.com");user.setAge(25);return user; // 自动转换为JSON格式返回}
}

四、Spring Boot 默认对Json的处理

@RequestMapping("/user")public UserTest getUser() {return new UserTest(1L, "测试", "123456");}

    @RequestMapping("/list")public List<UserTest> getUserList() {List<UserTest> userList = new ArrayList<>();UserTest user1 = new UserTest(1L, "测试", "123456");UserTest user2 = new UserTest(2L, "测试课", "123456");userList.add(user1);userList.add(user2);return userList;}

@RequestMapping("/map")public Map<String, Object> getMap() {Map<String, Object> map = new HashMap<>(3);UserTest user = new UserTest(1L, "测试", "123456");map.put("作者信息", user);map.put("博客地址", "https://blog.csdn.net/2401_84080967?spm=1000.2115.3001.5343");map.put("CSDN地址", "http://blog.csdn.net");map.put("测试数量", 001);return map;}

可以看出,不管是什么数据类型,都转成相应的 json 格式,这样就非常方便。 

2025/4/14

每一步,都算数。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com