#json.txt {
name:"中國",
provinces:[
{name:"黑龍江",
citys:["佳木斯","大慶","哈爾濱","齊齊哈爾","牡丹江"]
},
{name:"遼寧",
citys:["沈陽","大連","盤錦"]
},
{name:"吉林",
citys:["吉林市","長春市","四平市"]
}
]
}
#JSonParser .java
import java.io.*;
import java.text.ParseException;
import org.json.*;
/**
* 從json文件讀取數據,形成JSon對象,讀取對象數據並打印
*/
public class JSonParser {
public static void main(String[] args) {
//從JSon文件讀取數據
StringBuffer stringBuffer = new StringBuffer();
String line = null ;
try {
BufferedReader br = new BufferedReader(new FileReader(new File("json.txt")));
while( (line = br.readLine())!= null ){
stringBuffer.append(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
//將Json文件數據形成JSONObject對象
JSONObject jsonObject = new JSONObject(stringBuffer.toString());
//獲取JSONObject對象數據並打印
JSONArray provinces = jsonObject.getJSONArray("provinces") ;
String name = null ;
StringBuffer jsonFileInfo = new StringBuffer();
JSONArray citys = null ;
for (int i = 0; i < provinces.length(); i++) {
name = provinces.getJSONObject(i).getString("name");
jsonFileInfo.append("/nname:" + name + "/n" + "citys:");
citys = provinces.getJSONObject(i).getJSONArray("citys");
for (int j = 0; j < citys.length(); j++) {
jsonFileInfo.append(citys.getString(j)+"/t");
}
}
System.out.println(jsonFileInfo);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
運行結果:
name:黑龍江
citys:佳木斯
大慶
哈爾濱
齊齊哈爾
牡丹江
name:遼寧
citys:沈陽
大連
盤錦
name:吉林
citys:吉林市
長春市
四平市
|