[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日志

    重做日志redo log redo log是重做日志,为InnoDB存储引擎独有。它记录了数据页上的改动。当事务中修改了数据,将会备份存储。当发生数据库服务器宕机或者脏页未写入磁盘…

    数据库 2023年5月24日
    0116
  • PHP array_count_values()

    array_count_values array_count_values() 函数用于统计数组中所有值出现的次数。 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数…

    数据库 2023年6月14日
    078
  • 容器化 | 一文搞定镜像构建方式选型

    作者:安树博 青云科技 PaaS 中间件开发工程师从事 PaaS 中间件服务(Redis/Memcached 等)开发工作,热衷对 NoSQL 数据库领域内技术的学习与研究 官方镜…

    数据库 2023年5月24日
    082
  • 安全生产 系统稳定性建设

    前言 安全是产品的底座,是体验的基础,也是企业的一项核心竞争力。安全生产是一项系统性的工作,同时也是一件比较琐碎的事,需要做方方面面的考虑尽一切可能保障系统安全稳定运行。个人之前一…

    数据库 2023年6月14日
    085
  • 基于Vue的二进制时钟组件 — fx67llBinaryClock

    fx67llClock Easy & Good Clock ! npm 组件说明 一个基于Vue的二进制时钟组件,没什么卵用,做着好玩,可以方便您装饰个人主页 使用步骤 n…

    数据库 2023年6月11日
    088
  • Spring MVC的生命周期与简单三大组件的简单介绍

    1.说到Spring MVC就会想到它是基于MVC设计模式的思想来设计的: 那么MVC设计模式是什么呢? 下面来介绍一下 MVC 设计模式 MVC是模型(model)-视图(vie…

    数据库 2023年6月6日
    096
  • leetcode 104. Maximum Depth of Binary Tree 二叉树的最大深度(简单)

    给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,nu…

    数据库 2023年6月16日
    0106
  • NO.5 MySQL-笔记

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月14日
    070
  • 一、SQL高级语句

    摘抄别的博主的博客主要总去CSDN看不太方便自己整理一下加深记忆! 导入文件至数据库 #将脚本导入 source 加文件路径 mysql> source /backup/te…

    数据库 2023年5月24日
    0107
  • MySQL 存储过程和函数

    创建存储过程和函数 创建存储过程和函数就是将经常使用的一组 SQL 语句组合在一起,并将这些 SQL 语句当作一个整体存储在 MySQL 服务器 CREATE PROCEDURE …

    数据库 2023年5月24日
    0124
  • mysql的安装和下载

    1、 MySQL 下载地址为: MySQL 下载,这里下载的是mysql的msi安装文件,选择下面的470.2M的版本,点击download进行下载。 2、在下载页面直接选择: N…

    数据库 2023年5月24日
    097
  • 运行的第一个Django

    2022-09-24 创建了一个Django项目后,进行测试,输入指令: python manage.py runserver 出现了如下问题: 我还想着,Django模块通过安装…

    数据库 2023年6月14日
    082
  • Redis集群(三)集群模式

    一、 集群的作用 集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。 集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点…

    数据库 2023年6月11日
    085
  • Qt 保持窗口顶层显示最简单方法

    情景: 当前存在两个窗口或以上,先初始化的窗口会被后初始化的窗口覆盖,从而置于底层, 这时一个最简单的方案就是给需要置于顶层的窗口配置事件过滤器,监听窗口状态,当窗口不属于顶层窗口…

    数据库 2023年6月16日
    0128
  • MySQL之文件

    1.参数文件 当MySQL实例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在的位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等。在默认轻快下…

    数据库 2023年6月6日
    077
  • 关于pycharm打开时很卡,一直加载中的解决办法~

    相信很多刚开始使用pycharm不太熟练的小伙伴,每天一开机打开pycharm总是卡半天,不知道的还以为是电脑卡了或者啥问题的。 莫慌,其实并不是… 今天我们就来解决一…

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