利用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);
    }
				       
			          
