package kr.test.acanet;
import java.io.*; import org.json.simple.*;
public class JavaJSON { public static void main(String[] args) { //Json 객체 생성. JSONObject jobj = new JSONObject(); jobj.put("name", "wdkang"); jobj.put("company", "acanet"); jobj.put("age", "26");
//Json Array 생성. JSONArray maglist = new JSONArray(); maglist.add("JSON test"); maglist.add("hello JSON");
jobj.put("list", maglist);
try {
FileWriter file = new FileWriter("c:\\myJson.json"); file.write(jobj.toJSONString()); file.flush(); file.close(); } catch(IOException e) { e.printStackTrace(); } System.out.println("Create JSON Object : "+jobj); } }
|
Create JSON Object : {"age":"26","company":"acanet","name":"wdkang","list":["JSON test","hello JSON"]} |
그럼 이 생성된 json파일을 웹프로젝트같은 경우면 request에 담아 뿌려주면 되는거고(이때는 파일이 아닌 객체상태로 request에 담아야겠죠?), 지금은 자바프로젝트로 진행했으니 파일을 읽어와 다시 파싱해서 콘솔에 뿌리는걸로 하겠습니다.
package kr.test.acanet;
import java.io.*; import org.json.simple.*; import org.json.simple.parser.*; import java.util.Iterator;
public class JavaJSON_parse { public static void main(String[] args) { JSONParser parser = new JSONParser();
try { // myJson.json파일을 읽어와 Object로 파싱 Object obj = parser.parse(new FileReader("c:\\myJson.json"));
JSONObject jsonObject =(JSONObject) obj;
String name = (String) jsonObject.get("name"); String age = (String) jsonObject.get("age"); String company = (String) jsonObject.get("company");
System.out.println("name:" + name); System.out.println("age:" + age); System.out.println("company:" + company);
// list가져오기 JSONArray msgList =(JSONArray) jsonObject.get("list"); Iterator<String>iterator = msgList.iterator(); System.out.println("**JsonList**"); while(iterator.hasNext()) { System.out.println(iterator.next()); } } catch (Exceptione) { e.printStackTrace();
} } }
|
실행해보면 정상적으로 파싱되어 다음과 같은 문구가 콘솔에 뿌려집니다.
name: wdkang age: 26 company: acanet **Json List** JSON test hello JSON
|
'Programming > Java' 카테고리의 다른 글
Install Java 8 in Linux (0) | 2015.12.23 |
---|---|
[Java] 접근제어자 public, protected, private (0) | 2014.11.08 |
JAVA: 객체 직렬화, 멀티 쓰레드(Thread) (0) | 2014.11.03 |
[Java] 서버/클라이언트 소켓(Socket) 통신하기 (0) | 2014.10.14 |
[Java] '지정된 크기 - 숫자 자리수'만큼 숫자 왼쪽을 0 으로 채우기 (0) | 2014.10.07 |
댓글