最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)JSON字符串格式化輸出

 更新時(shí)間:2024年01月09日 09:33:30   作者:愛(ài)碼少年  
這篇文章主要為大家詳細(xì)介紹了如何使用java實(shí)現(xiàn)JSON字符串格式化輸出,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下

一、JSON 字符串格式化輸出

json字符串格式化輸出fastjson、gson、jackson實(shí)現(xiàn)

import org.junit.jupiter.api.Test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

import lombok.extern.slf4j.Slf4j;

/**
 * Json字符串格式化
 */
@Slf4j
public class JsonPrettyFormat
{
    private String jsonString =
        "{\"_index\":\"book_shop\",\"_type\":\"it_book\",\"_id\":\"1\",\"_score\":1.0, \"_source\":{\"name\": \"Java編程思想(第4版)\",\"author\": \"[美] Bruce Eckel\",\"category\": \"編程語(yǔ)言\", \"price\": 109.0,\"publisher\": \"機(jī)械工業(yè)出版社\",\"date\": \"2007-06-01\",\"tags\": [ \"Java\", \"編程語(yǔ)言\" ]}}";
    
    @Test
    public void fastjsonTest()
    {
        JSONObject object = JSONObject.parseObject(jsonString);
        String pretty = JSON.toJSONString(object, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteDateUseDateFormat);
        log.info("{} ", pretty);
    }
    
    @Test
    public void gsonTest()
    {
        JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject();
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        String pretty = gson.toJson(jsonObject);
        log.info("{} ", pretty);
    }
    
    @Test
    public void jacksonTest()
        throws JsonMappingException, JsonProcessingException
    {
        ObjectMapper mapper = new ObjectMapper();
        Object obj = mapper.readValue(jsonString, Object.class);
        String pretty = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
        log.info("{} ", pretty);
        
        JsonNode jsonNode = mapper.readTree(jsonString);
        pretty = jsonNode.toPrettyString();
        log.info("{} ", pretty);
    }
}

二、運(yùn)行結(jié)果

2023-12-19 17:26:19.704  INFO 21640 --- [           main] c.f.t.r.j.JsonPrettyFormat               : {
    "_index":"book_shop",
    "_type":"it_book",
    "_source":{
        "date":"2007-06-01",
        "author":"[美] Bruce Eckel",
        "price":109.0,
        "name":"Java編程思想(第4版)",
        "publisher":"機(jī)械工業(yè)出版社",
        "category":"編程語(yǔ)言",
        "tags":[
            "Java",
            "編程語(yǔ)言"
        ]
    },
    "_id":"1",
    "_score":1.0

2023-12-19 17:26:19.744  INFO 21640 --- [           main] c.f.t.r.j.JsonPrettyFormat               : {
  "_index": "book_shop",
  "_type": "it_book",
  "_id": "1",
  "_score": 1.0,
  "_source": {
    "name": "Java編程思想(第4版)",
    "author": "[美] Bruce Eckel",
    "category": "編程語(yǔ)言",
    "price": 109.0,
    "publisher": "機(jī)械工業(yè)出版社",
    "date": "2007-06-01",
    "tags": [
      "Java",
      "編程語(yǔ)言"
    ]
  }

2023-12-19 17:26:19.991  INFO 21640 --- [           main] c.f.t.r.j.JsonPrettyFormat               : {
  "_index" : "book_shop",
  "_type" : "it_book",
  "_id" : "1",
  "_score" : 1.0,
  "_source" : {
    "name" : "Java編程思想(第4版)",
    "author" : "[美] Bruce Eckel",
    "category" : "編程語(yǔ)言",
    "price" : 109.0,
    "publisher" : "機(jī)械工業(yè)出版社",
    "date" : "2007-06-01",
    "tags" : [ "Java", "編程語(yǔ)言" ]
  }

2023-12-19 17:26:19.999  INFO 21640 --- [           main] c.f.t.r.j.JsonPrettyFormat               : {
  "_index" : "book_shop",
  "_type" : "it_book",
  "_id" : "1",
  "_score" : 1.0,
  "_source" : {
    "name" : "Java編程思想(第4版)",
    "author" : "[美] Bruce Eckel",
    "category" : "編程語(yǔ)言",
    "price" : 109.0,
    "publisher" : "機(jī)械工業(yè)出版社",
    "date" : "2007-06-01",
    "tags" : [ "Java", "編程語(yǔ)言" ]
  }

三、源碼傳送

https://gitee.com/00fly/effict-side/blob/master/springboot-cache/src/test/java/com/fly/test/restful/json/JsonPrettyFormat.java

到此這篇關(guān)于java實(shí)現(xiàn)JSON字符串格式化輸出的文章就介紹到這了,更多相關(guān)java JSON字符串格式化輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis?SqlSession執(zhí)行流程小結(jié)

    MyBatis?SqlSession執(zhí)行流程小結(jié)

    本文主要介紹了MyBatis?SqlSession執(zhí)行流程小結(jié),涵蓋動(dòng)態(tài)代理、Executor、StatementHandler等組件,及參數(shù)處理、結(jié)果映射與緩存機(jī)制,感興趣的可以了解一下
    2025-05-05
  • 在Java中輕松將HTML格式文本轉(zhuǎn)換為純文本的方法示例(保留換行)

    在Java中輕松將HTML格式文本轉(zhuǎn)換為純文本的方法示例(保留換行)

    這篇文章主要介紹了在Java中輕松將HTML格式文本轉(zhuǎn)換為純文本的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • JAVA實(shí)現(xiàn)Date日期加一天具體方法

    JAVA實(shí)現(xiàn)Date日期加一天具體方法

    這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)Date日期加一天的相關(guān)資料,因?yàn)樵陧?xiàng)目中遇到了需要將日期進(jìn)行加減一些天數(shù)的操作,文中給出了簡(jiǎn)單的代碼示例,需要的朋友可以參考下
    2023-07-07
  • Java連接六類(lèi)數(shù)據(jù)庫(kù)技巧全攻略

    Java連接六類(lèi)數(shù)據(jù)庫(kù)技巧全攻略

    本文主要為大家介紹了Java與Oracle、DB2、Sql Server、Sybase、MySQL、PostgreSQL等數(shù)據(jù)庫(kù)連接的方法。
    2015-09-09
  • mybatis Reflector反射類(lèi)的具體使用

    mybatis Reflector反射類(lèi)的具體使用

    Reflector類(lèi)是MyBatis反射模塊的核心,負(fù)責(zé)處理類(lèi)的元數(shù)據(jù),以實(shí)現(xiàn)屬性與數(shù)據(jù)庫(kù)字段之間靈活映射的功能,本文主要介紹了mybatis Reflector反射類(lèi)的具體使用,感興趣的可以了解一下
    2024-02-02
  • Java實(shí)現(xiàn)將漢字轉(zhuǎn)化為漢語(yǔ)拼音的方法

    Java實(shí)現(xiàn)將漢字轉(zhuǎn)化為漢語(yǔ)拼音的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)將漢字轉(zhuǎn)化為漢語(yǔ)拼音的方法,實(shí)例演示了Java引用pinyin4j庫(kù)實(shí)現(xiàn)漢子轉(zhuǎn)化成拼音的使用技巧,需要的朋友可以參考下
    2015-12-12
  • Java HashMap源碼深入分析講解

    Java HashMap源碼深入分析講解

    在java開(kāi)發(fā)中,HashMap是最常用、最常見(jiàn)的集合容器類(lèi)之一,下面一起溫故一下,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Spring事務(wù)annotation原理詳解

    Spring事務(wù)annotation原理詳解

    這篇文章主要介紹了Spring事務(wù)annotation原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 如何解決@Data和@Builder的沖突問(wèn)題

    如何解決@Data和@Builder的沖突問(wèn)題

    在使用@Data和@Builder注解時(shí),可能會(huì)導(dǎo)致無(wú)法使用無(wú)參構(gòu)造方法創(chuàng)建實(shí)體類(lèi)實(shí)例的問(wèn)題,本文提出了兩種解決方法:一是手動(dòng)添加無(wú)參構(gòu)造并使用@Tolerate注解兼容;二是同時(shí)添加@AllArgsConstructor和@NoArgsConstructor注解,既添加無(wú)參構(gòu)造也添加全參構(gòu)造
    2024-10-10
  • 深入理解Java虛擬機(jī)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    深入理解Java虛擬機(jī)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    虛擬機(jī)是一種抽象化的計(jì)算機(jī),通過(guò)在實(shí)際的計(jì)算機(jī)上模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的,下面通過(guò)本文給大家分享Java虛擬機(jī)相關(guān)知識(shí),感興趣的朋友一起看看吧
    2017-06-06

最新評(píng)論

同德县| 林口县| 郧西县| 辽宁省| 德昌县| 黄陵县| 扶风县| 红原县| 新乡市| 青冈县| 江华| 泾阳县| 怀柔区| 扶风县| 庆云县| 法库县| 叶城县| 鄂州市| 乐亭县| 庆阳市| 若尔盖县| 浮梁县| 台北县| 中山市| 界首市| 松潘县| 怀安县| 乳山市| 宁蒗| 蓬溪县| 苏尼特左旗| 彭山县| 万宁市| 河北省| 仙桃市| 阳原县| 黄浦区| 阳春市| 萨嘎县| 应用必备| 宁强县|