JSON(JavaScript Object Notation)
자바 스크립트에서 객체를 만들때 사용함
프로그래밍언어가아닌 데이터포맷형태
Map과 같은 (key, value)형태를 지닌다
자료형은 Number, String, Boolean, Array, Object, NULL만 가능하다
JSON 메서드
- JSON.stringify() : 인수로 받은 자바스크립트 객체를 문자열로 반환
- JSON.parse() : 인수로 받은 문자열을 자바스크립트 객체로 반환
- .toJSON() : 자바스크립트의 객체를 "JSON형식의 문자열"로 반환
JSON을 쓰기위해서는 pom.xml에 JSON라이브러리 의존성 추가를 해줄 필요가 있다
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
JSON.jar파일을 다운받아 라이브러리 추가로 추가 하는 방법도 존재한다
JSON.stringify()
<script>
var member = {memberNum : 1,memberId : "ABC123",memberName : "KIM"};//자바스크립트 객체생성
var data = JSON.stringify(member);//JSON으로 변환
alert(data);
</script>
JSON.parse()
<script>
var member = {
memberNum : 1,
memberId : "ABC123",
memberName : "KIM"
};
var data = JSON.stringify(member);//JSON객체로 변환
var data = JSON.parse(data);//다시 자바스크립트 객체로 변환
</script>
.toJSON()
<script>
var date = new Date();//현재 날짜 객체 생성
alert(date);
var result = JSON.stringify(date);//인수로 받은 자바스크립트 객체를 문자열로 반환
alert(result);
var result = date.toJSON();//자바스크립트의 객체의 데이터를 JSON형식의 문자열로 반환
alert(result);
</script>
alert 결과
JSON형식의 문자열은 일반적인 문자열과 비교해 앞뒤에 ""가 붙는다
자바에서의 JSON 다루기
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
@SuppressWarnings("unchecked")//검증되지 않은 연산자 관련 경고 억제
public JSONObject JSONStudy() {
JSONObject obj1 = new JSONObject();//첫번째 JSON객체 생성
obj1.put("memberNum", 1);
obj1.put("memberId", "ABC123");
JSONObject obj2 = new JSONObject();//두번째 JSON객체 생성
obj2.put("memberNum", 1);
obj2.put("memberId", "ABC123");
obj2.put("memberName", "KIM");
JSONArray memberList = new JSONArray();//JSON리스트 생성
memberList.add(obj2);//JSON객체를 JSON리스트에 넣음, 메모리에서의 형태는 Bean을 리스트에 넣었을 때와 같음
obj1.put("memberList", memberList);//JSON리스트를 첫번째 JSON객체에 넣음
return obj1;
}
'Programming > JAVA' 카테고리의 다른 글
[JAVA] String, StringBuffer, StringBuilder (0) | 2020.09.23 |
---|---|
[JAVA] 프로그래밍 네이밍 규칙 (0) | 2020.09.17 |
[JAVA] Serializable(직렬화) 와 Deserialize(역직렬화) (0) | 2020.09.16 |
[JAVA] IndexOf (0) | 2020.09.14 |
[JAVA] 문자열 자르기 (0) | 2020.09.14 |