데이터 통신에 json을 가장 보편적으로 사용하지만 json에 대해서 아는 것은 "키&밸류로 이루어진 경량의 데이터 포맷"정도 밖에 없다. 그리고 어떻게 어떻게 벗겨내서 어떻게 어떻게 써먹는...
이래서는 혹독한 개발자 기술면접 세계에서 살아남을 수가 없다.
json에 대해서 보다 깊이 알아보도록 한다.
1. json은 왜 등장하게 됐을까?
일단 공식 홈페이지 : http://www.json.org/json-ko.html
JSON이 뭐예요
json은 일단 javaScript에서 객체를 표현하는 방법입니다. javaScript에서 데이터를 표현하는 표준 모양(포맷)이라고 할 수 있습니다. 이 모양(포맷)만 맞춘다면 프로그램끼리 데이터를 주고 받을 수 있습니다. 이를 데이터 교환이라고 합니다. json은 '경량의 데이터 교환 형식'이라고도 불립니다.
JSON은 JavaScript Object Notation의 약자로, Javascript에서 데이터를 전달하기 위해 만들어졌습니다.
JSON 파일은 다음과 같이 key-value 형태로 데이터를 갖고 있습니다.
{
"pageName": "abc"
}
JSON 왜 써요
json의 장점은?
json 이전에 많이 쓰던 데이터 포맷은 xml입니다. json은 xml보다 좋은 점이 많기 때문에 지금처럼 범용화될 수 있었습니다. json은...
1. 사람과 기계가 (xml보다) 읽기 쉽습니다.
2. (xml보다) 가볍습니다. 용량이 적다는 뜻입니다.
3. 언어와 플랫폼에 독립적입니다.
어떤 언어에 귀속되지 않고 포맷만 지키면 어디서든 사용할 수 있습니다.
공식 미디어 타입(MIME 타입): applicaiton/json
파일 확장자 : .json
https://ko.wikipedia.org/wiki/JSON
https://galid1.tistory.com/501
https://java119.tistory.com/53
https://victorydntmd.tistory.com/172
json과 xml은 어떻게 다를까? https://sujl95.tistory.com/59
json과 gson https://galid1.tistory.com/501
json에서 정수는 "" 없이 사용
[json의 empty String은 0으로 치환된다.]
json
{
“countNo” : “”
}
java
if (request.getCountNo() == 0) {
System.out.println(“json의 empty String은 0으로 치환된다.”)
}
결과 : 콘솔에 프린트문 찍히는 것을 볼 수 있음.
json과 javaScript Object의 차이점 https://kingofbackend.tistory.com/187
data : {“test”:”test”} // object
data : JSON.stringify // string
json maver repository https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple/1.1.1
json의 다양한 형태 https://java119.tistory.com/54
json Obejct란? https://codechacha.com/ko/java-convert-object-to-json-and-write-to-file/
json object와 json array
{“key”:[{“key”:”value”, “key”:”value”}]}
json object
json array
List<Product> productList = ....
Map<String, Object> response = new HashMap<>();
response.put("totalCount", productList.size());
response.put("productList", productList);
jsonObject를 벗기는 세가지 방법 https://lts0606.tistory.com/269
- Object 사용
- for in 사용
- jquery의 $.each 사용
json list안의 list https://app-dev.tistory.com/18
jsonObject와 jsonArray의 관계 https://velog.io/@cateto/Java-JSONObject-JSONArray-%EC%82%AC%EC%9A%A9%EB%B2%95
jsonObject > jsonArray > ArrayList https://shlee0882.tistory.com/260
ArrayList > JsonObject https://deersoul6662.tistory.com/214
json을 사용하여 소켓 통신하기 https://myhappyman.tistory.com/143
소켓이란? https://smilek1225.tistory.com/11 https://sujinnaljin.medium.com/socket-java-socket-%ED%86%B5%EC%8B%A0-d5b5a27a50a0
자바스크립트를 사용하여 json을 처리하는 두가지 방법 http://www.tcpschool.com/json/json_use_js
html 태그를 json data로 만드는 방법 (input 타입의 id값을 바탕으로 value값을 가져와서 바로 data에 넣는 방법) https://sacstory.tistory.com/entry/%EA%B0%92-%EC%A0%84%EC%86%A1-%EC%96%91%EC%8B%9D
서버로 전달한 데이터를 만들자 https://offbyone.tistory.com/196
- 자바스크립트 객체로 만들기
- jQuery의 serialize()를 사용하기
- 자바스크립트 객체를 json 문자열로 만들기 (JSON.stringify())
jsp에서 json 데이터를 읽어오는 여러가지 방법
내가 받아온 값의 타입이 String인지 JSON(Object)인지도 모른다면? console.log(typeof '타입확인할값');
https://skymin2.tistory.com/31
https://seo-0-dev.tistory.com/38
https://practice-a-lot.tistory.com/99
https://mingggu.tistory.com/61
https://hiworldbye.tistory.com/48
https://wookim789.tistory.com/22
ajax를 사용하여 다양한 데이터 양식을 전송하는 방법 https://ddulgi.tistory.com/24
ref
'【 개발 이야기 】' 카테고리의 다른 글
터미널에서 사용하는 Alias(단축어) 설정 방법 (0) | 2023.07.26 |
---|---|
namespace란 (0) | 2023.06.21 |
docker (0) | 2023.06.21 |
[intelliJ] (0) | 2022.12.09 |
[intelliJ] module (0) | 2022.03.03 |