[springmvc]乱码问题解决以及JSON和java对象转换的几种方法

在web服务器配置中直接加上下面的过滤处理


        encoding
        org.springframework.web.filter.CharacterEncodingFilter

            encoding
            utf-8

            forceEncoding
            true

        encoding
        /*

  • 前后端分离时代,前后端工程师约定的方便数据交换格式

JSON(JavaScript Object Notation, JS对象简谱)是一种 轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json转换为js对象

//将json转json
 var obj =JSON.parse(json);
 console.log(obj);

js对象转换为json字符串

 //将js转换为json
var json= JSON.stringify(people);
console.log(json);

    Title

        var people={
            name:"哔哩哔哩",
            age:100,
            address:"www.bilibili.com"
        };

        //将js转换为json
       var json= JSON.stringify(people);
       console.log(json);

       //将json转json
        var obj =JSON.parse(json);
        console.log(obj);


    com.fasterxml.jackson.core
    jackson-core
    2.13.3


    com.fasterxml.jackson.core
    jackson-databind
    2.13.3

Jackson转换java和json数据格式

package com.spring.controller;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.spring.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author panglili
 * @create 2022-07-25-20:36
 */
@Controller
public class JsonController {
    //produces = "application/json;charset=utf-8"
    //json提供的数据编码处理
    @ResponseBody
    @RequestMapping(value = "/json",produces = "application/json;charset=utf-8")
    public String json1() throws JsonProcessingException {
        //jsckson 提供的将一个json字符与java对象自动转换的类
        ObjectMapper mapper = new ObjectMapper();

        //创建对象
        User user=new User("小镇",19,"男");
        //交给mapper转换
        String s = mapper.writeValueAsString(user);

        return s;

    }
}

json处理乱码还有一种方式,直接配置在mvc中,不需要每个请求上面都去搞



    com.alibaba
    fastjson
    1.2.72

直接调用它提供的JSON对象

@RequestMapping("/j2")
@ResponseBody
public String json(){
    User user=new User("小镇",19,"男");
    String s = JSON.toJSONString(user);
    return s;
}

Original: https://www.cnblogs.com/lumanmanqixiuyuanxi/p/16544556.html
Author: 路漫漫qixiuyuanxi
Title: [springmvc]乱码问题解决以及JSON和java对象转换的几种方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/619555/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Mysql数据库 ALTER 基本操作

    背景: ALTER作为DDL语言之一,工作中经常遇到,这里我们简单介绍一下常见的几种使用场景 新建两个测试表offices 和 employess CREATE TABLE off…

    数据库 2023年6月14日
    072
  • MySQL之group by分组查询

    有如下数据: 一个简单的分组查询案例 [En] A simple case of grouping query 按照部门编号deptno分组,统计每个部门的平均工资。 select…

    数据库 2023年5月24日
    097
  • Mysql终端Terminal操作

    datebase管理 1.创建数据库-create 语法:create database 数据库名 character set 编码 注意:默认会存在四个数据库,其数据库中存储的是…

    数据库 2023年6月14日
    058
  • vue进阶(一)

    vue.js 数据绑定 定义:将数据和视图相关联,当数据发生变化时,可以自动更新视图。 语法 1) 插值 使用双大括号{{}},双大括号会将里面的值当做字符串进行处理;而如果值是H…

    数据库 2023年6月6日
    096
  • Java面试题(四)–RabbitMQ

    1、MQ有哪些使用场景?(高频) 异步处理:用户注册后,发送注册邮件和注册短信。用户注册完成后,提交任务到 MQ,发送模块并行获取 MQ 中的任务。 系统解耦:比如用注册完成,再加…

    数据库 2023年6月16日
    068
  • 18-网络七层架构

    七层架构主要包括 ①、 物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输…

    数据库 2023年6月16日
    073
  • 符合标准的正常工作的对联广告(漂浮广告JS代码)

    符合标准的正常工作的对联广告JS代码(漂浮广告)。DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN…

    数据库 2023年6月11日
    067
  • pg substring 正则提取子串

    官方案例: 测试: posted @2022-02-08 19:48 cheng_blog 阅读(218 ) 评论() 编辑 Original: https://www.cnblo…

    数据库 2023年6月16日
    080
  • Java面向对象(上)

    Java面向对象(上) 一、面向对象的思想 1、面向过程: 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤逐一实现,使用的时候依次调用就可以了。 2、面向对象: 面向…

    数据库 2023年6月11日
    090
  • MySQL8新增降序索引

    MySQL8新增降序索引 桃花坞里桃花庵,桃花庵里桃花仙。桃花仙人种桃树,又摘桃花卖酒钱。 一、MySQL5.7 降序索引 MySQL 在语法上很早就已经支持降序索引,但实际上创建…

    数据库 2023年5月24日
    078
  • Javascript中“==”与“===”的区别

    在Javascript中有”==”和”===”两种比较运行符,那么他们有什么区别呢? 一、对于string,number等基础类型,…

    数据库 2023年6月9日
    086
  • Maven编译出现“java.lang.OutOfMemoryError: Java heap space”问题的解决办法

    项目执行 mvn clean install 成功在idea 进行debug启动一直报错,报编译错: maven-resources-production:xxx java.nio…

    数据库 2023年6月6日
    0114
  • SpringBoot 搭建基于 MinIO 的高性能存储服务

    1.什么是MinIO MinIO是根据GNU Affero通用公共许可证v3.0发布的高性能对象存储。它与Amazon S3云存储服务兼容。使用MinIO构建用于机器学习,分析和应…

    数据库 2023年6月14日
    0143
  • starter包~mica-auto自动生成spring.factories等元文件

    首先,进行springboot2.7之后,官方不推荐使用 /META-INF/spring.factories,转成和SPI比较类似的 /META-INF/spring/org.s…

    数据库 2023年6月6日
    063
  • RocksDB线程局部缓存

    在开发过程中,我们经常会遇到并发问题,解决并发问题通常的方法是加锁保护,比如常用的spinlock,mutex或者rwlock,当然也可以采用无锁编程,对实现要求就比较高了。对于任…

    数据库 2023年6月9日
    073
  • idea启动 org.springframework.boot.web.server.PortInUseException: Port XXX is already in use

    win+r,输入cmd,进入命令行窗口查询占用端口号所在进程:netstat -ano|findstr 8001杀死进程:taskkill -f -pid 进程号 作者:crazy…

    数据库 2023年6月16日
    068
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球