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' 카테고리의 다른 글
자바 정규식 일치하는 값, 일치하는 문자열 추출 java.lang.IllegalStateException: No match found (0) | 2016.11.18 |
---|---|
Java 정규표현식을 이용한 Pattern Match 및 검증방법 (Validation) (0) | 2016.11.18 |
[Ljava.lang.String;@ (0) | 2016.11.15 |
java 에서 숫자만 남기고 지우기 (0) | 2016.11.15 |
java 한글,영문,일본,중국 정확한 인코딩 관련, hex -> utf8 문자열 hex 인코딩 방법 관련 (0) | 2016.11.01 |