欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、JSON 字符串格式化輸出

json字符串格式化輸出fastjson、gson、jackson實現(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\": \"編程語言\", \"price\": 109.0,\"publisher\": \"機械工業(yè)出版社\",\"date\": \"2007-06-01\",\"tags\": [ \"Java\", \"編程語言\" ]}}";
    
    @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);
    }
}

二、運行結(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":"機械工業(yè)出版社",
        "category":"編程語言",
        "tags":[
            "Java",
            "編程語言"
        ]
    },
    "_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": "編程語言",
    "price": 109.0,
    "publisher": "機械工業(yè)出版社",
    "date": "2007-06-01",
    "tags": [
      "Java",
      "編程語言"
    ]
  }

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" : "編程語言",
    "price" : 109.0,
    "publisher" : "機械工業(yè)出版社",
    "date" : "2007-06-01",
    "tags" : [ "Java", "編程語言" ]
  }

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" : "編程語言",
    "price" : 109.0,
    "publisher" : "機械工業(yè)出版社",
    "date" : "2007-06-01",
    "tags" : [ "Java", "編程語言" ]
  }

三、源碼傳送

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

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

相關(guān)文章

  • JAVA程序員不得不留意的編碼規(guī)范

    JAVA程序員不得不留意的編碼規(guī)范

    這篇文章主要介紹了JAVA程序員不得不留意的編碼規(guī)范,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Java多線程之讀寫鎖分離設(shè)計模式

    Java多線程之讀寫鎖分離設(shè)計模式

    這篇文章主要介紹了Java多線程讀寫鎖分離設(shè)計模式,主要利用Java到嗎完成read read 并行化、read write 不允許、write write 不允許幾項任務(wù),需要的朋友可以參考一下
    2021-10-10
  • springboot實現(xiàn)打印彩色日志

    springboot實現(xiàn)打印彩色日志

    這篇文章主要介紹了springboot實現(xiàn)打印彩色日志的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 使用springMVC所需要的pom配置

    使用springMVC所需要的pom配置

    這篇文章主要介紹了使用springMVC所需要的pom配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實現(xiàn)多線程聊天室

    Java實現(xiàn)多線程聊天室

    這篇文章主要為大家詳細介紹了Java實現(xiàn)多線程聊天室,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • springboot項目中controller層與前端的參數(shù)傳遞方式

    springboot項目中controller層與前端的參數(shù)傳遞方式

    這篇文章主要介紹了springboot項目中controller層與前端的參數(shù)傳遞方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 詳解Kotlin:forEach也能break和continue

    詳解Kotlin:forEach也能break和continue

    這篇文章主要介紹了詳解Kotlin:forEach也能break和continue的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 普通類注入不進spring bean的解決方法

    普通類注入不進spring bean的解決方法

    這篇文章主要介紹了普通類注入不進spring bean的解決方法,幫助大家更好的理解和使用spring bean,感興趣的朋友可以了解下
    2021-01-01
  • IDEA常用配置之類Tab頁多行顯示方式

    IDEA常用配置之類Tab頁多行顯示方式

    這篇文章主要介紹了IDEA常用配置之類Tab頁多行顯示方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Maven的安裝和環(huán)境變量配置過程

    Maven的安裝和環(huán)境變量配置過程

    文章介紹了如何下載、安裝和配置Maven,包括環(huán)境變量配置和阿里云鏡像的可選配置,此外,還展示了如何在IntelliJ IDEA中新建一個Maven項目
    2024-11-11

最新評論