1. JSON 이란?
(JavaScript Object Notation)
속성-값 쌍, 배열 자료형 또는 기타 모든 시리얼화 가능한 값 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다.
2. JSONObject 란?
{키1 : 값1, 키2 : 값2, 키3 : 값3, 키4 : 값4,........}
즉 하나의 키에 하나의 값을 넣은 값을 뜻한다
3. JSONArray 란?
{키11 : 값11, 키12 : 값12, 키13 : 값13, 키14 : 값14,........}
{키21 : 값21, 키22 : 값22, 키23 : 값23, 키24 : 값24,........}
{키31 : 값31, 키32 : 값32, 키33 : 값33, 키34 : 값34,........}
.
.
.
즉 JSONObject를 여러개 넣고 싶을 때 JSONArray를 사용한다
가끔 JSONObject안에 배열로 넣어서 보내는 상황이 있는데...파싱으로 하나씩 꺼내써야한다....
{
[ 키11 : 값11, 키12 : 값12, 키13 : 값13, 키14 : 값14,........],
[ 키21 : 값21, 키22 : 값22, 키23 : 값23, 키24 : 값24,........],
[ 키31 : 값31, 키32 : 값32, 키33 : 값33, 키34 : 값34,........ ],
.
.
.
}
4. 예시
필자는 JSONObject와 JSONArray를 SharedPreferences를 사용하기 위해 사용했다.
데이터를 옮기기 위해서는 DataClass를 따로 만드는 것이 편리하다.RecyclerView를 사용하거나 Serializable을 사용시에 데이터 클래스 전체를 전송하거나 가져다가 사용하기 편리하기 때문이다 또한 DataClass는 SharedPreferences를 사용시에 데이터를 저장하기에 편리한데 이러한 DataClass값이 Array형식으로 존제한다면 하나의 하나의 DataClass값을 여러가지 갖고 있는 것이다.
{DataClass1} -> {JSONObject1}
{DataClass2} -> {JSONObject2}
{DataClass3} -> {JSONObject3} -> {JSONArray} -> SharedPreferences 저장
{DataClass4} -> {JSONObject4}
{DataClass4} -> {JSONObject5}
반대로 데이터를 다시 사용해서 가공하기 위해서는 거꾸로 꺼내면 된다
DataClass를 JSONObject로 바꿀 시 for반복문을 사용하면 편리하고 if조건문을 사용하여 가공한다
'CS > Basic' 카테고리의 다른 글
[CS Basic] Thread와 Process 그리고 Stack, Queue, List (0) | 2023.10.26 |
---|---|
[CS Basic] Version 관리 (0) | 2023.10.24 |
[CS Basic] SDK, Api와 Library 차이 (0) | 2023.10.24 |
[CS Basic] RESTful API (0) | 2023.10.23 |
[CS Basic] DP와 SP 그리고 PX의 차이 (0) | 2023.10.20 |