日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 如何导出json文件_java导出json格式文件的示例代码

發布時間:2024/7/23 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 如何导出json文件_java导出json格式文件的示例代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹了java導出json格式文件的示例代碼,分享給大家,具體如下:

import java.io.File;

import java.io.FileWriter;

import java.io.Writer;

public class CreateFileUtil {

/**

* 生成.json格式文件

*/

public static boolean createJsonFile(String jsonString,String filePath,String fileName) {

// 標記文件生成是否成功

boolean flag = true;

// 拼接文件完整路徑

String fullPath = filePath + File.separator + fileName + ".json";

// 生成json格式文件

try {

// 保證創建一個新文件

File file = new File(fullPath);

if (!file.getParentFile().exists()) { // 如果父目錄不存在,創建父目錄

file.getParentFile().mkdirs();

}

if (file.exists()) { // 如果已存在,刪除舊文件

file.delete();

}

file.createNewFile();

// 格式化json字符串

jsonString = JsonFormatTool.formatJson(jsonString);

// 將格式化后的字符串寫入文件

Writer write = new OutputStreamWriter(new FileOutputStream(file),"UTF-8");

write.write(jsonString);

write.flush();

write.close();

} catch (Exception e) {

flag = false;

e.printStackTrace();

}

// 返回是否成功的標記

return flag;

}

}

json字符串格式化工具代碼:

public class JsonFormatTool {

/**

* 單位縮進字符串。

*/

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、獲取當前字符。

key = json.charAt(i);

// 2、如果當前字符是前方括號、前花括號做如下處理:

if ((key == '[') || (key == '{')) {

// (1)如果前面還有字符,并且字符為“:”,打印:換行和縮進字符字符串。

if ((i - 1 > 0) && (json.charAt(i - 1) == ':')) {

result.append('\n');

result.append(indent(number));

}

// (2)打印:當前字符。

result.append(key);

// (3)前方括號、前花括號,的后面必須換行。打印:換行。

result.append('\n');

// (4)每出現一次前方括號、前花括號;縮進次數增加一次。打印:新行縮進。

number++;

result.append(indent(number));

// (5)進行下一次循環。

continue;

}

// 3、如果當前字符是后方括號、后花括號做如下處理:

if ((key == ']') || (key == '}')) {

// (1)后方括號、后花括號,的前面必須換行。打印:換行。

result.append('\n');

// (2)每出現一次后方括號、后花括號;縮進次數減少一次。打印:縮進。

number--;

result.append(indent(number));

// (3)打印:當前字符。

result.append(key);

// (4)如果當前字符后面還有字符,并且字符不為“,”,打印:換行。

if (((i + 1) < length) && (json.charAt(i + 1) != ',')) {

result.append('\n');

}

// (5)繼續下一次循環。

continue;

}

// 4、如果當前字符是逗號。逗號后面換行,并縮進,不改變縮進次數。

if ((key == ',')) {

result.append(key);

result.append('\n');

result.append(indent(number));

continue;

}

// 5、打印:當前字符。

result.append(key);

}

return result.toString();

}

/**

* 返回指定次數的縮進字符串。每一次縮進三個空格,即SPACE。

*

* @param number 縮進次數。

* @return 指定縮進次數的字符串。

*/

private static String indent(int number) {

StringBuffer result = new StringBuffer();

for (int i = 0; i < number; i++) {

result.append(SPACE);

}

return result.toString();

}

}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持編程小技巧。

總結

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

如您喜歡交流學習經驗,點擊鏈接加入交流1群:1065694478(已滿)交流2群:163560250

總結

以上是生活随笔為你收集整理的java 如何导出json文件_java导出json格式文件的示例代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。