首页 > 其他分享 >Json 格式处理

Json 格式处理

时间:2023-08-22 21:45:48浏览次数:39  
标签:处理 JSON System Json User import println 格式 out

Jackson

1. maven依赖导入
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version>
</dependency>

2. 封装到工具类的使用
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import java.text.SimpleDateFormat;

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

   public static String getJson(Object object,String dateFormat) {
       //new 一个ObjectMapper
       ObjectMapper mapper = new ObjectMapper();
       //不使用时间差的方式
       mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
       //自定义日期格式对象
       SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
       //指定日期格式
       mapper.setDateFormat(sdf);
       try {
           return mapper.writeValueAsString(object);
      } catch (JsonProcessingException e) {
           e.printStackTrace();
      }
       return null;
  }
}

FastJson

1. maven依赖导入
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.60</version>
</dependency>

JSONObject 代表 json 对象

  • JSONObject实现了Map接口, 猜想 JSONObject底层操作是由Map实现的。

  • JSONObject对应json对象,通过各种形式的get()方法可以获取json对象中的数据,也可利用诸如size(),isEmpty()等方法获取"键:值"对的个数和判断是否为空。其本质是通过实现Map接口并调用接口中的方法完成的。

JSONArray 代表 json 对象数组

  • 内部是有List接口中的方法来完成操作的。

JSON代表 JSONObject和JSONArray的转化

  • JSON类源码分析与使用

  • 仔细观察这些方法,主要是实现json对象,json对象数组,javabean对象,json字符串之间的相互转化。

示例

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.kuang.pojo.User;
import java.util.ArrayList;
import java.util.List;

public class FastJsonDemo {
   public static void main(String[] args) {
       //创建一个对象
       User user1 = new User("1号", 3, "男");
       User user2 = new User("2号", 3, "男");
       User user3 = new User("3号", 3, "男");
       User user4 = new User("4号", 3, "男");
       List<User> list = new ArrayList<User>();
       list.add(user1);
       list.add(user2);
       list.add(user3);
       list.add(user4);

       System.out.println("*******Java对象 转 JSON字符串*******");
       String str1 = JSON.toJSONString(list);
       System.out.println("JSON.toJSONString(list)==>"+str1);
       String str2 = JSON.toJSONString(user1);
       System.out.println("JSON.toJSONString(user1)==>"+str2);

       System.out.println("\n****** JSON字符串 转 Java对象*******");
       User jp_user1=JSON.parseObject(str2,User.class);
       System.out.println("JSON.parseObject(str2,User.class)==>"+jp_user1);

       System.out.println("\n****** Java对象 转 JSON对象 ******");
       JSONObject jsonObject1 = (JSONObject) JSON.toJSON(user2);
       System.out.println("(JSONObject) JSON.toJSON(user2)==>"+jsonObject1.getString("name"));

       System.out.println("\n****** JSON对象 转 Java对象 ******");
       User to_java_user = JSON.toJavaObject(jsonObject1, User.class);
       System.out.println("JSON.toJavaObject(jsonObject1, User.class)==>"+to_java_user);
  }
}
  • 主要方法 JSON.toJSONString(list);

标签:处理,JSON,System,Json,User,import,println,格式,out
From: https://www.cnblogs.com/maoshine/p/17649768.html

相关文章

  • PyTorch数据处理工具箱-新手笔记
    数据下载和预处理是机器学习、深度学习实际项目中耗时又重要的任务,尤其是数据预处理,关系到数据质量和模型性能,往往要占据项目的大部分时间。PyTorch提供了专门的数据下载,数据处理包,可以极大提高开发效率及数据质量。数据处理工具箱概述torch.utils.data工具包:Dataset:一个抽象类......
  • 解密Hadoop生态系统的工作原理 - 大规模数据处理与分析
    在当今的数字时代,大规模数据处理和分析已经成为了企业和组织中不可或缺的一部分。为了有效地处理和分析海量的数据,Hadoop生态系统应运而生。本文将深入探讨Hadoop生态系统的工作原理,介绍其关键组件以及如何使用它来处理和分析大规模数据。什么是Hadoop?Hadoop是一个开源的分布式......
  • flask接收json,开启服务demo
    demofromflaskimportFlask,render_template,request,jsonifyapp=Flask(__name__)@app.route('/',methods=['GET','POST'])defindex():processed_data=Noneifrequest.method=='POST':try......
  • 读取转换规则中的单据类型映射(处理SQLSERVER的XML字段)
    DataSetdsBillTypeMap=null;stringsql=string.Format(@"/*dialect*/SELECTFKERNELXML.query('//BillTypeMaps')BillTypeMaps,FID......
  • ios开发之--ZHPickView输出格式不出现 +0000
    这样写就不会输出+0000了NSDate*select=[_datePickerdate];NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetDateFormat:@"yyyy-MM-ddHH:mm:ss"];_resultString=[dateFormatterstringFromDate:select];输出+0000的原因是_......
  • 前端input自动填充账号密码问题处理
    1. autocomplete="off" input添加autocomplete属性2.<formautocomplete="off"> 在表单标签上添加autocomplete="off"属性。有些浏览器可能会尊重表单级别的autocomplete属性。3.最上面增加一个隐藏的表单,自动填充密码会填充在隐藏表单里面具体生效看浏览器自身,可以1,2,3方......
  • 【音视频系列】RGB24数据格式及BMP文件格式以及存储方式
    RGB24是表明图像以RGB三原色,每个像素点3个字节表示的一种图像存储格式注意:在内存中RGB各分量的排列顺序为:BGRBGRBGR 先用ffmpeg生成一个RGB24的图片,命令如下:ffmpeg-itest.jpg-pix_fmtrgb24test.rgb生成后下面用C++代码拆分RGB24的三原色并保存:1234......
  • 爬虫异常处理:应对验证和动态加载数据的方法
    作为一名专业的爬虫代理程序员,在爬取数据的过程中,我经常遇到验证和动态加载数据异常的问题。今天,我就和大家分享一些关于如何处理这两种异常情况的实用技巧。不论你是在爬取网站数据还是获取动态加载的内容,这些技巧都能帮助你更好地应对问题,让你的爬虫顺利运行。挑战一:验证机制很多......
  • GoLang:异常处理
    学习自:Go教程137页1、异常程序运行时,发生了不被期望的事件,它阻止程序正常预期的运行Go中两种处理异常的方式:程序异常时,将异常信息反馈给使用者程序异常时,终止运行立刻退出2、打印异常信息1)fmt包中的Errorf函数创建error类型,打印varerrerror=fmt.Errorf("错误信息")......
  • 4.8 C++ Boost 应用JSON解析库
    property_tree是Boost库中的一个头文件库,用于处理和解析基于XML、Json或者INFO格式的数据。property_tree可以提供一个轻量级的、灵活的、基于二叉数的通用容器,可以处理包括简单值(如int、float)和复杂数据结构(如结构体和嵌套容器)在内的各种数据类型。它可以解析数据文件到......