利用fastjson快速解析json文件
最近接到一个需求,需要我将一个json文件的数据读取到内存中然后保存在sql中。
这里面其实就两个问题,一个是如何将文件中的数据读取出来。一个是如何将数据提取出来。
对于第一个问题,我选择了最简单的方案,直接将所有内容读到内存即可。
第二个问题我选择了使用fastjson进行字符串转json数组,然后提取对应的数据。
以下是源码部分,很简单,不加以解释:
@Test public void test1() throws Exception{ final File file = new File("D:\downloads\city.json"); final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String line; StringBuilder stringBuilder = new StringBuilder(); while ((line = reader.readLine()) != null){ stringBuilder.append(line); } StringBuilder sql = new StringBuilder(); final JSONArray parse = JSONArray.parseArray(String.valueOf(stringBuilder)); for (int i = 0; i < parse.size(); i++){ JSONObject json = parse.getJSONObject(i); sql.append("("); sql.append(""").append(json.getString("city_name")).append(""").append(", ").append("""). append(json.getString("city_pre")).append("""); sql.append("),"); } System.out.println(sql); }