国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java工具類——json字符串格式化處理

這篇具有很好參考價(jià)值的文章主要介紹了Java工具類——json字符串格式化處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在我們拿到一團(tuán)未經(jīng)格式化的json字符串時(shí),非常不方便查看,比如這樣

{"APP_HEAD": {"TOTAL_NUM": "-1","PGUP_OR_PGDN": "0"},"SYS_HEAD": {"RET": [{"RET_CODE": "000000","RET_MSG": "000000 SUCCESS"},{"RET_CODE": "000001","RET_MSG": "000001 SUCCESS"}],"AUTH_USER_ID": null,"RUN_DATE": "20211222","MESSAGE_CODE": "369285","SOURCE_BRANCH_NO": "142857"},"BODY": [{"createDate":"20220630","fileName":"RB_TRAN_HIST_20220630_2_1.txt","filePath":"/acc/abcd/20220630","fileScence":"abcd","fileType":"txt","systemId":"ACC"},{"createDate":"20220630","fileName":"RB_TRAN_HIST_20220630_2_2.txt","filePath":"/acc/abcd/20220630","fileScence":"abcd","fileType":"txt","systemId":"ACC"}]}

因此隨手寫了個(gè)工具類用來格式化json。注意,原json字符串必須語法無誤,并且不包含換行、空格、縮進(jìn)等,否則會(huì)保留下來。
ok廢話不多說上代碼

package com.xxx.util;
 
/**
 * json字符串格式化
 * @AuThor wangbyn
 */
public class JsonUtil {
 
        public static String format(String jsonStr) {
                int level = 0;
                StringBuffer jsonForMatStr = new StringBuffer();
                for (int i = 0; i < jsonStr.length(); i++) {
                        char c = jsonStr.charAt(i);
                        if (level > 0 && '\n' == jsonForMatStr.charAt(jsonForMatStr.length() - 1)) {
                                jsonForMatStr.append(getLevelStr(level));
                        }
                        switch (c) {
                                case '{':
                                case '[':
                                        jsonForMatStr.append(c).append("\n");
                                        level++;
                                        break;
                                case ',':
                                        jsonForMatStr.append(c).append("\n");
                                        break;
                                case '}':
                                case ']':
                                        jsonForMatStr.append("\n");
                                        level--;
                                        jsonForMatStr.append(getLevelStr(level));
                                        jsonForMatStr.append(c);
                                        break;
                                default:
                                        jsonForMatStr.append(c);
                                        break;
                        }
                }
 
                return jsonForMatStr.toString();
 
        }
 
        private static String getLevelStr(int level) {
                StringBuffer levelStr = new StringBuffer();
                for (int levelI = 0; levelI < level; levelI++) {
                        levelStr.append("\t");
                }
                return levelStr.toString();
        }
 
        public static void main(String[] args) {
                String json = "{\"APP_HEAD\": {\"TOTAL_NUM\": \"-1\",\"PGUP_OR_PGDN\": \"0\"},\"SYS_HEAD\": {\"RET\": [{\"RET_CODE\": \"000000\",\"RET_MSG\": \"000000 SUCCESS\"},{\"RET_CODE\": \"000001\",\"RET_MSG\": \"000001 SUCCESS\"}],\"AUTH_USER_ID\": null,\"RUN_DATE\": \"20211222\",\"MESSAGE_CODE\": \"369285\",\"SOURCE_BRANCH_NO\": \"142857\"},\"BODY\": [{\"createDate\":\"20220630\",\"fileName\":\"RB_TRAN_HIST_20220630_2_1.txt\",\"filePath\":\"/acc/abcd/20220630\",\"fileScence\":\"abcd\",\"fileType\":\"txt\",\"systemId\":\"ACC\"},{\"createDate\":\"20220630\",\"fileName\":\"RB_TRAN_HIST_20220630_2_2.txt\",\"filePath\":\"/acc/abcd/20220630\",\"fileScence\":\"abcd\",\"fileType\":\"txt\",\"systemId\":\"ACC\"}]}";
                System.out.println(format(json));
        }
}

運(yùn)行后效果

Java工具類——json字符串格式化處理,java,java文章來源地址http://www.zghlxwxcb.cn/news/detail-796445.html

到了這里,關(guān)于Java工具類——json字符串格式化處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 格式化字符串漏洞

    格式化字符串漏洞

    初學(xué)pwn,學(xué)到了格式化字符串漏洞,總結(jié)一下。 格式化字符串函數(shù):格式化字符串函數(shù)就是將計(jì)算機(jī)內(nèi)存中表示的數(shù)據(jù)轉(zhuǎn)化為我們?nèi)祟惪勺x的字符串格式。 漏洞printf(s) 用 printf() 為例,它的第一個(gè)參數(shù)就是格式化字符串 :“Color %s,Number %d,Float %4.2f” 然后 printf 函數(shù)會(huì)根據(jù)

    2024年02月11日
    瀏覽(25)
  • 【每日撓頭算法題(5)】重新格式化字符串|壓縮字符串

    【每日撓頭算法題(5)】重新格式化字符串|壓縮字符串

    點(diǎn)我直達(dá)~ 1.遍歷字符串,將數(shù)字字符和字母字符分別放在不同的字符串 2.如果|字母字符數(shù)量 - 數(shù)字字符數(shù)量| 1 ,則無法實(shí)現(xiàn)格式化,返回\\\"\\\" 3.如果不是2.中的情況,則偶數(shù)為字符必須放數(shù)量多的字符串對(duì)應(yīng)的字符(下標(biāo)從0開始)。 將數(shù)量多的字符串對(duì)應(yīng)的字符和數(shù)量少的字

    2024年02月08日
    瀏覽(21)
  • Python 的字符串格式化指南

    Python 中控制字符串格式通常有三種形式: % 占位符(格式化符) str.format() 函數(shù) f-string 內(nèi)嵌式 Python 最先開始格式化字符串是用 %,但它的致命缺點(diǎn)是支持的類型有限制,只支持 int,str,double 這三種類型,從而導(dǎo)致其他所有類型只能轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)為這幾個(gè)類型,還有如果

    2024年02月08日
    瀏覽(23)
  • 第33講:Python格式化字符串時(shí)使用字典傳遞字符串

    在前面對(duì)字符串進(jìn)行格式化輸出時(shí),傳遞被格式化的字符串時(shí)都是單個(gè)的,如果想要對(duì)字典中Key對(duì)應(yīng)的Value進(jìn)行格式化輸出,常規(guī)的方法如下:

    2023年04月24日
    瀏覽(36)
  • 淺談非棧上格式化字符串

    淺談非棧上格式化字符串

    這里先淺分析修改返回地址的兩種打法,分別是\\\"諸葛連弩\\\"和”四馬分肥“ 本文例題 以陜西省賽easy_printf為主 簡單看一看程序 需要先過一個(gè)判斷然后進(jìn)入vuln 進(jìn)入后 有一個(gè)13次的循環(huán) 可以讓我們操作 第一步 肯定要先leak出棧地址 程序基地址和libc基地址 第二步 修改ret地址

    2024年02月14日
    瀏覽(29)
  • Python字符串格式化 (%操作符)

    在許多編程語言中都包含有格式化字符串的功能,比如C和Fortran語言中的格式化輸入輸出。在Python中內(nèi)置有對(duì)字符串進(jìn)行格式化的操作符是\\\"%\\\"。 模板 格式化字符串時(shí),Python使用一個(gè)字符串作為模板。模板中有格式符,這些格式符為真實(shí)值預(yù)留位置,并說明真實(shí)數(shù)值應(yīng)該呈現(xiàn)的

    2024年02月14日
    瀏覽(26)
  • 格式化字符串你都懂了嗎

    格式化字符串你都懂了嗎

    今天跟大家聊聊字 符串的格式化 這部分內(nèi)容。乍一聽“ 格式化 ”這三個(gè)字,有的初學(xué)者可能會(huì)懵:難道這是要清空字符串的節(jié)奏? 其實(shí)不是的,恰恰相反,格式化字符串是為了讓字符串變的更美觀、更靈活。接下來就給大家詳細(xì)介紹格式化字符串的概念以及具體用法。 格

    2024年02月04日
    瀏覽(21)
  • Python 用戶輸入和字符串格式化指南

    Python 用戶輸入和字符串格式化指南

    Python 允許用戶輸入數(shù)據(jù)。這意味著我們可以向用戶詢問輸入。在 Python 3.6 中,使用 input() 方法來獲取用戶輸入。在 Python 2.7 中,使用 raw_input() 方法來獲取用戶輸入。以下示例要求用戶輸入用戶名,并在輸入用戶名后將其打印在屏幕上: Python 3.6: Python 2.7: 為了確保字符串按預(yù)

    2024年02月05日
    瀏覽(38)
  • 格式化字符串走過的坑 pwn109

    格式化字符串走過的坑 pwn109

    格式化字符串走過的坑 pwn109 今天做的一道題有一個(gè)坑我調(diào)試半天終于打通了,格式化字符串的坑,確實(shí)不少,東西也比較多容易忘記,怎么說呢,功夫在平時(shí),經(jīng)驗(yàn)少了 老規(guī)矩先看一下保護(hù) Full RELRO意味著got不能修改也就是不能通過格式化字符串漏洞來改got表,但是nx保護(hù)關(guān)

    2024年04月08日
    瀏覽(31)
  • 【Python入門篇】——Python基礎(chǔ)語法(字符串格式化,表達(dá)式格式化和數(shù)據(jù)輸入)

    【Python入門篇】——Python基礎(chǔ)語法(字符串格式化,表達(dá)式格式化和數(shù)據(jù)輸入)

    作者簡介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等 作者主頁: 七七的個(gè)人主頁 文章收錄專欄: Python入門,本專欄主要內(nèi)容為Python的基礎(chǔ)語法,Python中的選擇循環(huán)語句,Python函數(shù),Python的數(shù)據(jù)容器等。 歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!???? 目前通過%符號(hào)占位

    2024年02月05日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包