栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springmvc狂神说自学 json 篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springmvc狂神说自学 json 篇

一,认识json( Javascript Object Notation:js对象标记 )

(1) 采用完全独立的编程语言的文本格式来存储和表示数据

(2) 容易阅读 同时也容易让机器解析和生成,有效的提高了网络的传输效率

(3) 任何Javascript支持的类型都可以通过接送来传输,对象表示为键值对,数据 直接由逗号分隔,花括号存储对象 ,中括号存储数组


二,jackson的使用
0.吧基本mvc环境搭建好 1.要使用jackson就要导入依赖
        
            com.fasterxml.jackson.core
            jackson-databind
            2.13.1
        
2.配置解决json中文乱码包
 
    
        
            
                
            
            
                
                    
                        
                    
                
            
        
    
3,编写controllo文件创建 ObjectMapper 对象

注意:使用 @ResponseBody注解要 配合 @Controller注解一起使用

            RestController     和  ResponesBody 的作用一致

//@Controller//走试图解析器
@RestController //标记了下面之会返回字符串
public class SpringmvcJson {
    @RequestMapping("/s/j1")
    //@ResponseBody //就不会走视图解析器,直接返回一个字符串 配合Controller标签一起使用的
    public String json1() throws JsonProcessingException {
        final ObjectMapper om = new ObjectMapper();
        User user = new User("张三",1,200);
//     把他转换成json格式
        String j=om.writevalueAsString(user);
        return j;
    }

三,玩法

1,可以测试date    , 数组    ,和对象的表示形式

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.kuang.pojo.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

//@Controller//走试图解析器
@RestController //标记了下面之会返回字符串
public class SpringmvcJson {
    @RequestMapping("/s/j1")
    //@ResponseBody //就不会走视图解析器,直接返回一个字符串 配合Controller标签一起使用的
    public String json1() throws JsonProcessingException {
        final ObjectMapper om = new ObjectMapper();
        User user = new User("张三",1,200);
        String j=om.writevalueAsString(user);
        return j;
    }

    
    @RequestMapping("/s/j2")
    public String json2() throws JsonProcessingException {
        final ObjectMapper om = new ObjectMapper();
        ArrayList userArrayList = new ArrayList();
        User user1= new User("张三1",1,200);
        User user2= new User("张三2",1,200);
        User user3= new User("张三3",1,200);
        User user4= new User("张三4",1,200);
        userArrayList.add(user1);
        userArrayList.add(user2);
        userArrayList.add(user3);
        userArrayList.add(user4);
        String j=om.writevalueAsString(userArrayList);
        return j;
    }
    
//   方法一
    
    @RequestMapping("/s/j3")
    public String json3() throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return mapper.writevalueAsString(sdf.format(date));
    }

//   方法二
    
    @RequestMapping("/s/j4")
    public String json4() throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
//        意思就是吧原本的 时间差 关闭了
        mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        mapper.setDateFormat(sdf);
        Date date = new Date();
        return mapper.writevalueAsString(date);
    }
date的进阶玩法

第一步  :吧上面的代码独立写成一个工具类

package com.kuang.utlis;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import java.text.SimpleDateFormat;
import java.util.Date;

public class JsonUtlis {

    public static String getJson(Object object){
        return getJson(object,"yyyy-MM-dd HH:mm:ss");
    }

    public static String getJson(Object object , String dateFormat){
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
        mapper.setDateFormat(sdf);
        Date date = new Date();
        try {
            return mapper.writevalueAsString(date);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return null;
    }
}

第二步,直接调用刚刚写的工具类即可

 
    @GetMapping("/j5")
    public String json5(){
        Date date = new Date();
        return new JsonUtlis().getJson(date);
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号