JSON (javaScript object Notation)
- - 경량의 DATA-교환 형식이다
- - 경량의 DATA-표기법 이다.
- - 특징
- - 사람이 읽고 쓰기 쉽다.
- - 기계로 분석하고 생성하기 쉽다.(코드가 단순해진다.)
- - 프로그램언어로부터 완전히 독립적이다.
- - 서로 다른 시스템간의 데이터교환에 이상적인 DATA-교환 형식이다.
- - 형식
- - Object 표기법
{ name:value, name:value, name:value}
- name/value쌍으로 구성된 콜렉션 ← 자바의 ValueObject, Map
- name은 문자열만 가능
- value는 문자열, 숫자, Object, Array, true, false, null
- 작성예
public Book {
int no; String title; String writer; int price;
}
{"no":10, "title":"이것이 자바다", "writer":"홍길동", "price":31000}
public class Team {
String name; List<String> members;
}
{"name":"트와이스","members":["나연","정연","모모","사나","지효","미나","다현","채영","쯔위"]}
public class Student {
String name; Major major;
}
public class Major {
String name; String grade;
}
{"name":"홍길동","major":{"name":"전자공학","grade":"석사"}}
Map<String, Object> map = new HashMap<String, object>();
map.put("keyword","자바");
map.put("records",3);
map.put("items", books) <---- List<Book> books = bookDao.searchBooks(title);
{"keyword":"자바",
"records":3,
"items":[
{"title":"이것이자바다", "publisher":"한빛미디어"}
{"title":"", "publisher":"한빛미디어"}
{"title":"이것이자바다", "publisher":"한빛미디어"}
]
}
- Array 표기법
- [ value, value, value ]
- 값들의 순서화된 리스트 ← 자바의 배열/List, 자바스크립트의 배열
- 작성예
String[] names = {"김유신", "강감찬", "홍길동"}
'["김유신", "강감찬", "홍길동", "이순신"]'
public class Category {
int no; String name;
}
List<Category> categories = categoryDao.getAllCategories();
[{"no":100, "name":"가구"}, {"no":"200", "name":"가전제품"}]
gson(구글에서 만든 자바 객체를 json형태로 바꾸는 걸 지원하는 라이브러리)
자바와 자바스크립트에서 JSON
- 자바의 VO, Map, 배열, List 등에 저장된 데이터를 다른 시스템으로 전달할 때 JSON텍스트로 변환해서 전달 할 수 있다.
- 자바의 VO, Map, 배열, List를 JSON 텍스트로 변환할 때 다양한 라이브러리를 사용할 수 있다.
(google-gson, json-simple 등)
- 자바스크립트는 JSON.parse()와 JSON.stringify()를 사용 간단하게 JSON 표기법의 텍스트를 자바스크립트 객체와 배열로 변경할 수 있고,
자바스크립트의 객체 및 배열을 JSON표기법의 텍스트로 변경할 수 있다.
'웹' 카테고리의 다른 글
[Web] RESTful API란? (0) | 2021.07.03 |
---|---|
인터넷 통신 (TCP/IP 4계층) (0) | 2021.06.28 |
[Web] 포트포워딩 적용이 안될 때 (80 -> 8080) (0) | 2021.03.23 |
[Web] 상대주소 표기법과 절대주소 표기법 (0) | 2020.11.08 |
[Bootstarp] 부트스트랩 개념 정리 (0) | 2020.11.08 |