본문 바로가기

Programming/Java

java json 예제

반응형


 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);

       }

}

 


이렇게해서 생성된 myJson.json 파일은 다음과같은 문자열을 가지게 됩니다. 자바스크립트의 Object객체와 같은 형식입니다. 그렇기에 자바스크립트의 eval()를 이용하여 바로 자바스크립트 객체로 사용할수가 있게됩니다.
 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

 


이상! 간단한 JSON 예제입니다.










반응형