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

Java中將json字符串導(dǎo)出為json文件【詳細(xì)步驟】

這篇具有很好參考價(jià)值的文章主要介紹了Java中將json字符串導(dǎo)出為json文件【詳細(xì)步驟】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、概述

請(qǐng)根據(jù)具體需求具體改動(dòng),此代碼需要將前端的數(shù)據(jù)查詢出來,然后進(jìn)行json字符串的轉(zhuǎn)化

.getCatalogId(id)方法是根據(jù)id查出來的內(nèi)容然后再進(jìn)行轉(zhuǎn)換成json字符串

也可以直接傳入json字符串進(jìn)行測(cè)試

二、代碼?

    @ApiOperation("導(dǎo)出為json文件")
    @PostMapping("/export")
    @DisableEncryptResponse
    public R<String> export(@RequestBody Long id) {
        R<Object> list = scenarioService.getCatalogId(id);
        String jsonString = JSON.toJSONString(list);

        String filePath = "D:\\temp";
        String fileName = "test";
        String fullPath = filePath + File.separator + fileName + ".json";
        //例如:fullPath="D:/temp/test.json"
        String address = fileName + ".json";

        // 生成json格式文件
        try {
            // 保證創(chuàng)建一個(gè)新文件
            File file = new File(fullPath);
            if (!file.getParentFile().exists()) { // 如果父目錄不存在,創(chuàng)建父目錄
                file.getParentFile().mkdirs();
            }
            if (file.exists()) { // 如果已存在,刪除舊文件
                file.delete();
            }
            file.createNewFile();

            // 格式化json字符串
            jsonString = formatJson(jsonString);

            // 將格式化后的字符串寫入文件
            Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
            write.write(jsonString);
            write.flush();
            write.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return R.ok(address);
    }
package com.dbm.flowconfig.util;

public class json {
    /**
     * 單位縮進(jìn)字符串。
     */
    private static String SPACE = "   ";

    /**
     * 返回格式化JSON字符串。
     *
     * @param json 未格式化的JSON字符串。
     * @return 格式化的JSON字符串。
     */
    public static String formatJson(String json) {
        StringBuffer result = new StringBuffer();

        int length = json.length();
        int number = 0;
        char key = 0;

        // 遍歷輸入字符串。
        for (int i = 0; i < length; i++) {
            // 1、獲取當(dāng)前字符。
            key = json.charAt(i);

            // 2、如果當(dāng)前字符是前方括號(hào)、前花括號(hào)做如下處理:
            if ((key == '[') || (key == '{')) {
                // (1)如果前面還有字符,并且字符為“:”,打?。簱Q行和縮進(jìn)字符字符串。
                if ((i - 1 > 0) && (json.charAt(i - 1) == ':')) {
                    result.append('\n');
                    result.append(indent(number));
                }

                // (2)打?。寒?dāng)前字符。
                result.append(key);

                // (3)前方括號(hào)、前花括號(hào),的后面必須換行。打?。簱Q行。
                result.append('\n');

                // (4)每出現(xiàn)一次前方括號(hào)、前花括號(hào);縮進(jìn)次數(shù)增加一次。打?。盒滦锌s進(jìn)。
                number++;
                result.append(indent(number));

                // (5)進(jìn)行下一次循環(huán)。
                continue;
            }

            // 3、如果當(dāng)前字符是后方括號(hào)、后花括號(hào)做如下處理:
            if ((key == ']') || (key == '}')) {
                // (1)后方括號(hào)、后花括號(hào),的前面必須換行。打?。簱Q行。
                result.append('\n');

                // (2)每出現(xiàn)一次后方括號(hào)、后花括號(hào);縮進(jìn)次數(shù)減少一次。打?。嚎s進(jìn)。
                number--;
                result.append(indent(number));

                // (3)打?。寒?dāng)前字符。
                result.append(key);

                // (4)如果當(dāng)前字符后面還有字符,并且字符不為“,”,打?。簱Q行。
                if (((i + 1) < length) && (json.charAt(i + 1) != ',')) {
                    result.append('\n');
                }

                // (5)繼續(xù)下一次循環(huán)。
                continue;
            }

            // 4、如果當(dāng)前字符是逗號(hào)。逗號(hào)后面換行,并縮進(jìn),不改變縮進(jìn)次數(shù)。
            if ((key == ',')) {
                result.append(key);
                result.append('\n');
                result.append(indent(number));
                continue;
            }

            // 5、打?。寒?dāng)前字符。
            result.append(key);
        }

        return result.toString();
    }

    /**
     * 返回指定次數(shù)的縮進(jìn)字符串。每一次縮進(jìn)三個(gè)空格,即SPACE。
     *
     * @param number 縮進(jìn)次數(shù)。
     * @return 指定縮進(jìn)次數(shù)的字符串。
     */
    private static String indent(int number) {
        StringBuffer result = new StringBuffer();
        for (int i = 0; i < number; i++) {
            result.append(SPACE);
        }
        return result.toString();
    }
}

三、使用postman進(jìn)行測(cè)試

導(dǎo)出的文件在D盤temp文件夾下面

下面為json格式樣例

{

????"teacher":?[

????????{

????????????"id":?"001",

????????????"name":?"張三"

????????},

????????{

????????????"id":?"002",

????????????"name":?"李四"

????????}

????],

????"student":?[

????????{

????????????"id":?"101",

????????????"name":?"王五"

????????}

????]

}

java json字符串轉(zhuǎn)json,json,java,json,java,javascript

?四、使用nginx下載json文件

前端想要獲取你的json文件,你可以通過配置nginx然后發(fā)送給前端下載網(wǎng)址,在網(wǎng)址中進(jìn)行下載

java json字符串轉(zhuǎn)json,json,java,json,java,javascript

?右擊nginx.conf,使用notepad++打開,配置下載地址,配置好后,下載地址為?http://你的IP地址/download/test.json

?java json字符串轉(zhuǎn)json,json,java,json,java,javascript

?java json字符串轉(zhuǎn)json,json,java,json,java,javascript

?這樣別人就可以通過你提供的鏈接進(jìn)行下載

五、JSON字符串,JSON對(duì)象,JSON數(shù)組,實(shí)體類轉(zhuǎn)換

http://t.csdn.cn/FS7ev?文章來源地址http://www.zghlxwxcb.cn/news/detail-742466.html

到了這里,關(guān)于Java中將json字符串導(dǎo)出為json文件【詳細(xì)步驟】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(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)文章

  • java將json字符串轉(zhuǎn)換成json數(shù)組

    java將json字符串轉(zhuǎn)換成json數(shù)組

    有些時(shí)候我們需要將json字符串轉(zhuǎn)換成數(shù)組,并且只取一些屬性值進(jìn)行下一個(gè)方法的賦值,這樣就涉及到了json字符串的轉(zhuǎn)換了, json字符串有兩種形式,一種是以{A,B,C},一種是[{A},{B},{C}]。但是很多時(shí)候是這兩種的結(jié)合。 首先導(dǎo)入jar包 如果是第一種只需要加入以下代碼,注意

    2024年02月11日
    瀏覽(27)
  • java解析多層嵌套json字符串

    在java 程序中,經(jīng)常會(huì)涉及到各種變量值提取的問題,下面給出簡(jiǎn)單的示例及說明: JSON實(shí)際上也是鍵值對(duì)(\\\"key\\\":\\\"value\\\"),key 必須是字符串,value 可以是合法的 JSON 數(shù)據(jù)類型(字符串, 數(shù)字, 對(duì)象, 數(shù)組, 布爾值或 null) value如果是字符串,用jsonobj.getString(\\\"key\\\")獲取 value如果是數(shù)

    2024年02月15日
    瀏覽(26)
  • Java中l(wèi)ist轉(zhuǎn)json字符串

    例子: 有一個(gè)實(shí)體類StudentInfo 放在一個(gè)List中,為L(zhǎng)ist infoList; 現(xiàn)在需要把這個(gè)infoList 以字符串的形式存起來,示例如下: 下面示例代碼為將入?yún)nfoList轉(zhuǎn)為JSON字符串輸出 下面示例代碼為將JSON字符串轉(zhuǎn)為L(zhǎng)ist

    2024年02月09日
    瀏覽(26)
  • JAVA 字符串JSON Map 對(duì)象轉(zhuǎn)化

    目錄 字符串轉(zhuǎn)JSON JSON 轉(zhuǎn)字符串 json字符串轉(zhuǎn)map 將map轉(zhuǎn)成json字符串 map轉(zhuǎn)對(duì)象 將對(duì)象轉(zhuǎn)化成map 將對(duì)象轉(zhuǎn)化成JSON Json轉(zhuǎn)對(duì)象 方式一 第一步 將map 轉(zhuǎn)成json字符串對(duì)象 第二步 將json字符串對(duì)象轉(zhuǎn)化成對(duì)象 第一步 將對(duì)象轉(zhuǎn)化成json字符串 第二步 將JSON字符串轉(zhuǎn)成map 方法一:fastjson轉(zhuǎn)

    2024年02月15日
    瀏覽(27)
  • java對(duì)象與Json字符串的相互轉(zhuǎn)換

    文章目錄 1.Json對(duì)象轉(zhuǎn)換為java 對(duì)象 2. Java對(duì)象轉(zhuǎn)換JSON 1.Json對(duì)象轉(zhuǎn)換為java 對(duì)象 導(dǎo)入jackson的相關(guān)jar包 創(chuàng)建Jackson核心對(duì)象 ObjectMapper 調(diào)用ObjectMapper的相關(guān)方法進(jìn)行轉(zhuǎn)換 2. Java對(duì)象轉(zhuǎn)換JSON 常見的解析器:Jsonlib,Gson,fastjson,jackson 1.導(dǎo)入jackson的相關(guān)jar包 2.創(chuàng)建Jackson核心對(duì)象 Obj

    2024年02月09日
    瀏覽(31)
  • Java工具類——json字符串格式化處理

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

    在我們拿到一團(tuán)未經(jīng)格式化的json字符串時(shí),非常不方便查看,比如這樣 因此隨手寫了個(gè)工具類用來格式化json。注意,原json字符串必須語法無誤,并且不包含換行、空格、縮進(jìn)等,否則會(huì)保留下來。 ok廢話不多說上代碼 運(yùn)行后效果

    2024年01月17日
    瀏覽(29)
  • 【工具】java工具 xml字符串轉(zhuǎn)json對(duì)象

    //json字符串

    2024年02月07日
    瀏覽(27)
  • java中對(duì)象轉(zhuǎn)json字符串的常用方式

    1.使用Jackson庫(kù): Jackson是一個(gè)常用且功能強(qiáng)大的Java庫(kù),用于處理JSON數(shù)據(jù)。下面是使用Jackson將對(duì)象轉(zhuǎn)換為JSON字符串的示例: 需要依賴: 2.使用Gson庫(kù): Gson是Google提供的一個(gè)Java庫(kù),它可以處理JSON數(shù)據(jù)的序列化和反序列化。以下是使用Gson將對(duì)象轉(zhuǎn)換為JSON字符串的示例 相關(guān)依賴

    2024年02月07日
    瀏覽(21)
  • 五分鐘學(xué)會(huì)如何用java解析json字符串!

    在工作中我們常常使用json來存儲(chǔ)和傳輸結(jié)構(gòu)化的數(shù)據(jù),如用戶信息、配置信息等。它通常以string的方式進(jìn)行傳輸,因此如何將string解析并得到我們想要的信息是一項(xiàng)必備且常用的功能。 JSON(JavaScript Object Notation)是一種輕量級(jí)的、基于文本的、與語言無關(guān)的數(shù)據(jù)交換格式,

    2024年02月11日
    瀏覽(22)
  • java將json字符串?dāng)?shù)據(jù)轉(zhuǎn)換為L(zhǎng)ist對(duì)象

    方法一:使用Jackson庫(kù) pom.xml文件中添加以下依賴: 轉(zhuǎn)換之后直接可以用list操作了 方法二:使用Gson庫(kù) res: json格式的數(shù)據(jù) 方法二比方法一使用起來更簡(jiǎn)便一點(diǎn)

    2024年02月21日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包