集合資料儲存到本地json文字中,並解析
阿新 • • 發佈:2022-05-11
一、將資料存入json文字中
1、呼叫工具類,實現資料轉為json,並生成json文字
JSONArray jsonarray = JSONArray.parseArray(JSON.toJSONString(dataList));
JsonToTXT.createTXT("地址.test10.json", jsonarray);
/** * 將爬取資料儲存到json檔案中 */ public class JsonToTXT { public static void createTXT(String src, JSONArray array) throws IOException { File file = new File(src); //儲存的目標檔案 FileWriter fw = null; BufferedWriter bw = null; fw = new FileWriter(file); bw = new BufferedWriter(fw); bw.write(array.toJSONString()); bw.close(); fw.close(); } }
二、解析json檔案資料
1、獲取檔案位置,並對不同格式的json進行解析,如JSONObject、JSONArray
//對應的json檔案應該放在resource目錄下
String path = this.class.getClassLoader().getResource("檔名").getPath();
String s =readJsonFile(path);
//這裡是Kotlin格式,自行轉為java,格式都差不多 fun readJsonFile(fileName: String?): String? { var jsonStr = "" return try { val jsonFile = File(fileName) val fileReader = FileReader(jsonFile) val reader: Reader = InputStreamReader(FileInputStream(jsonFile), "utf-8") var ch = 0 val sb = StringBuffer() while (reader.read().also { ch = it } != -1) { sb.append(ch.toChar()) } fileReader.close() reader.close() jsonStr = sb.toString() jsonStr } catch (e: IOException) { e.printStackTrace() null }