第一步:通过FileReader读取json文件
第二步:使用BufferReader,先通过I/O读取一定大小的数据缓存到数组中,然后再从数组取出数据。
第三步:用一个字符串把每次传来的数据处理后写到新的文件中。重复这个过程。
注意事项:
在json中,每一行就是一个json对象,需要用{}括起来,json对象键值对里面还可以保存jsonArray和jsonObject,json jar包里面包含键值对增加和删除的操作。
import org.json.JSONException; import org.json.JSONObject; import java.io.*; /** * @author Mr.Xu * @version 1.0 * @date 2018/5/7. */ public class jsontest { /** * @param args */ public static void main(String[] args) { // 读取原始json文件并进行操作和输出 try { BufferedReader br = new BufferedReader(new FileReader( "C:\\Users\\Administrator\\Desktop\\ParseData\\test.json"));// 读取原始json文件 BufferedWriter bw = new BufferedWriter(new FileWriter( "C:\\Users\\Administrator\\Desktop\\ParseData\\testresult.json"));// 输出新的json文件 String s = null, ws = null; while ((s = br.readLine()) != null) { System.out.println(s); try { JSONObject dataJson = new JSONObject(s);// 创建一个包含原始json串的json对象 ws = dataJson.toString(); System.out.println(dataJson.getJSONArray("people").getJSONObject(0).get("name")); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } bw.write(ws); bw.flush(); br.close(); bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
json测试
test.json
{"t1":"1","people":[{"name":"LSY","age":"23"},{"name":"XRC","age":"23"}]}
小徐看世界,世界如此多娇: http://www.cnblogs.com/schoolbag/