码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JAVA操作Json的ObjectMapper类


    JAVA操作Json的ObjectMapper类

    • 市面上用于在 Java 中解析 Json 的第三方库,随便一搜不下几十种,其中的佼佼者有 Google 的 Gson以及本文的 jackson。

    • 三者不相伯仲,随着掌握一个都能满足项目中的 json 解析操作,因为 Spring Boot Web 组件默认使用的是 jackson,所以掌握 Jackjson 是非常有必要的。

    • package com.zving;
       
      import org.codehaus.jackson.map.ObjectMapper;
       
      /**
       * 学习ObjectMapper类
       * 
       * @author Clover
       */
      public class JacksonTester {
       
          public static void main(String[] args) {
              ObjectMapper mapper = new ObjectMapper();
              //指定遇到date按照这种格式转换        
              SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        
              mapper.setDateFormat(fmt);
              String jsonString = "";
              stringToStudent(mapper, jsonString);
              studentToString(mapper, jsonString);
              stringToStudentList(mapper, jsonString);
          }
       
          /**
           * 字符串转实体类
           * 
           * @param mapper
           * @param jsonString
           */
          public static void stringToStudent(ObjectMapper mapper, String jsonString) {
              jsonString = "{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"}";
       
              try {
                  Student student = mapper.readValue(jsonString, Student.class);
                  System.out.println(student);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
       
          /**
           * 实体类转字符串
           * 
           * @param mapper
           * @param jsonString
           */
          public static void studentToString(ObjectMapper mapper, String jsonString) {
       
              Student student = new Student();
              student.setId(1002);
              student.setName("李四");
              student.setInfo("一个小女孩");
              try {
                  jsonString = mapper.writeValueAsString(student);
                  System.out.println(jsonString);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
       
          /**
           * 字符串转 List<实体类>
           * 
           * @param mapper
           * @param jsonString
           */
          public static void stringToStudentList(ObjectMapper mapper, String jsonString) {
              jsonString = "[{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"},
      			{\"id\":1002,\"name\":\"Jane\",\"info\":\"一个小女孩\"}]";
      							
              try {
                  Student[] stu = mapper.readValue(jsonString, Student[].class);
                  for (Student student : stu) {
                      System.out.println(student);
                  }
       
                  String ss = mapper.writeValueAsString(stu);
                  System.out.println(ss);
       
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
       
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42
      • 43
      • 44
      • 45
      • 46
      • 47
      • 48
      • 49
      • 50
      • 51
      • 52
      • 53
      • 54
      • 55
      • 56
      • 57
      • 58
      • 59
      • 60
      • 61
      • 62
      • 63
      • 64
      • 65
      • 66
      • 67
      • 68
      • 69
      • 70
      • 71
      • 72
      • 73
      • 74
      • 75
      • 76
      • 77
      • 78
      • 79
      • 80
      • 81
      • 82
      • 83
      • 84
  • 相关阅读:
    【Java】JDBC基础使用教程
    Euclid空间or欧式空间(定义、正交性、正交变换、对称变换)&酉空间(定义、酉变换、Hermite变换、正规矩阵)
    仙境传说ro:如何在地图上刷怪教程
    Qt SQL:QSqlQueryModel、QSqlTableModel
    Java代码优化的30个小技巧
    STM32F103ZE单片机呼吸灯源代码
    Java 开源重试类 guava-retrying 使用案例
    OPEN数据 | 新库上线 | CnOpenDataA股上市公司社会责任报告数据
    【gpt】学习笔记:ChatGPT 用于 3D 内容生成搭配nvidia deepsearch
    本地录像视频文件如何推送到视频监控平台EasyCVR进行AI视频智能分析?
  • 原文地址:https://blog.csdn.net/Andrew_Chenwq/article/details/133204395
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号