파싱할 jsonData
{
"addr":"Seoul-Citry",
"s":"won",
"r":[
{
"i":4198942,
"n":1,
"s":100,
"name":"tom"
},
{
"i":1281641,
"n":2,
"s":100,
"name":"Kim"
}
],
"g":[
{
"i":123,
"n":112,
"s":200,
"number":"010-0000"
},
{
"number":"012-1234"
}
]
}
package com;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import org.json.simple.*;
import org.json.simple.parser.*;
public class BqJsonData {
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
String txtname = "./search_skeylist";
String result = "";
StringBuilder jsonData = new StringBuilder();
StringBuilder list = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(new File(txtname)));
while((result = br.readLine()) != null){
jsonData.append(result);
}
}
catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
try {
// 1. JSONParse 생성
JSONParser jsonParse = new JSONParser();
// 2. Object 생성. (json데이터 담음)
Object obj = jsonParse.parse(jsonData.toString());
//json Object
// 3. JSONObject 생성
JSONObject jsonMain = (JSONObject)obj;
// **싱글값 jsonData출력
// 싱글값은 Object -> JSONObject 에서 바로 get.
System.out.println(jsonMain.get("addr").toString());
System.out.println(jsonMain.get("s").toString());
//배열값은 Object-> JSONObject -> JSONArray로 다시 담아줘야함.
//사용할 json배열 선택.
JSONArray ListArray = (JSONArray) jsonMain.get("g"); //배열로 만듬.
// **배열값 jsonData 출력
if (ListArray.size() > 0){
for(int i=0; i<ListArray.size(); i++) {
JSONObject ListObject = (JSONObject) ListArray.get(i);
list.append("\""+ListObject.get("number").toString()+"\",\n");
}
}
}catch(ParseException e) {
e.printStackTrace();
}
list.setLength(list.length()-2);
System.out.println(list);
}
}
단건의 json객체면 바로 JSONObject에 담고 get하여 받는다.