java 视图对象转换,使用spring boot开发时java对象和Json对象转换的问题_JavaScript_网络编程...

将java对象转换为on对象,市面上有很多第三方jar包,如下:

jackson(最常用)

com.fasterxml.jackson.core

jackson-databind

2.11.2

gson

com.google.code.gson

gson

2.8.5

fastjson

com.alibaba

fastjson

1.2.62

一、构建测试项目

开发工具为:IDEA

后端技术:Spring boot ,Maven

引入依赖

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.4.3

com.example

json

0.0.1-SNAPSHOT

WysXk json

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-thymeleaf

org.springframework.boot

spring-boot-starter-web

org.projectlombok

lombok

true

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

org.projectlombok

lombok

可以从上面看出,并未引入Jackson相关依赖,这是因为Spring boot的起步依赖spring-boot-starter-web 已经为我们传递依赖了Jackson JSON库。

7d9a2af27432f2e5a0ab420c65112b9e.png

当我们不用它,而采用其他第三方jar包时,我们可以排除掉它的依赖,可以为我们的项目瘦身。

org.springframework.boot

spring-boot-starter-web

jackson-core

com.fasterxml.jackson.core

二、jackson转换

1.构建User实体类

import lombok.AllArgsConstructor;

import lombok.Data;

import lombok.NoArgsConstructor;

@Data

@NoArgsConstructor

@AllArgsConstructor

public class UserEntity {

private String userName;

private int age;

private String sex;

}

代码如下(示例):

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

import warnings

warnings.filterwarnings('ignore')

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

2.controller类

Java对象转换为json对象

@Controller

public classWysXk JsonController {

@GetMapping("/json1")

//思考问题,正常返回它会走视图解析器,而json需要返回的是一个字符串

//市面上有很多的第三方jar包可以实现这个功能,jackson,只需要一个简单的注解就可以实现了

//@ResponseBody,将服务器端返回的对象转换为json对象响应回去

@ResponsWysXkeBody

public String json1() throws JsonProcessingException {

//需要一个jackson的对象映射器,就是一个类,使用它可以将对象直接转换成json字符串

ObjectMapper mapper = new ObjectMapper();

//创建对象

UserEntity userEntity = new UserEntity("笨笨熊", 18, "男");

System.out.println(userEntity);

//将java对象转换为json字符串

String str = mapper.writeValueAsString(userEntity);

System.out.println(str);

//由于使用了@ResponseBody注解,这里会将str以json格式的字符串返回。

return str;

}

@GetMapping("/json2")

@ResponseBody

public String json2() throws JsonProcessingException {

ArrayList userEntities = new ArrayList<>();

UserEntity user1 = new UserEntity("笨笨熊", 18, "男");

UserEntity user2 = new UserEntity("笨笨熊", 18, "男");

UserEntity user3 = new UserEntity("笨笨熊", 18, "男");

userEntities.add(user1);

userEntities.add(user2);

userEntities.add(user3);

return new ObjectMapper().writeValueAsString(userEntities);

}

}

Date对象转换为json对象

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值