JSONファイルを読み込む

1876 ワード

package com.smartmoney.p2p.common;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class CityCode {

	public static void main(String[] args) throws Exception {

		String JsonContext = ReadFile("D:\\test\\city.json");
		
		WriteFile(JsonContext);

	}

	public static String ReadFile(String Path) {
		BufferedReader reader = null;
		String laststr = "";
		try {
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(Path), "UTF-8"));
			String tempString = null;
			while ((tempString = reader.readLine()) != null) {
				laststr += tempString;
			}
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (reader != null) {
				try {
					reader.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return laststr;
	}
	
	
	public static void WriteFile(String JsonContext) {
		JSONArray jsonArray = JSONArray.fromObject(JsonContext);
		int size = jsonArray.size();
		System.out.println("Size: " + size);
		for (int i = 0; i < size; i++) {
			JSONObject jsonObject = jsonArray.getJSONObject(i);
			String code = jsonObject.get("code").toString();
			String region = jsonObject.get("region").toString();
			String regionEntitys = Utils.isObjectNotEmpty(jsonObject.get("regionEntitys")) ? jsonObject.get("regionEntitys").toString() : null;
			
			System.out.println("[" + i + "]code=" + code);
			System.out.println("[" + i + "]region=" + region);
			System.out.println("[" + i + "]regionEntitys=" + regionEntitys);
			
			if(Utils.isObjectNotEmpty(regionEntitys)) {
				WriteFile(regionEntitys);
			}
		}
	}

}