[Kotlin] JSONArray 병합

Jinbro·2022년 2월 3일
0

Kotlin

목록 보기
5/5

JSONArray

JSONArray : json 데이터를 배열 형태로 관리할 수 있는 클래스

  • JSONObject와 함께 Android SDK에 포함되어 있음

JSONArray 병합 함수 정의

1. JSONObject 직접 담기

import org.json.JSONArray
import org.json.JSONObject

fun mergeJsonArray(target: JSONArray, source: JSONArray): JSONArray {
        var merge:JSONArray = target
        for (i in 0 until source.length()) {
            var jsonObj: JSONObject = source.getJSONObject(i)
            merge.put(jsonObj)
        }
        return merge
    }

call sample

var mergeJsonArr = mergeJsonArray(targetJsonArr, sourceJsonArr)

console log

targetJsonArr : [{"name":"닭가슴살샐러드","charge":5900},{"name":"훈제오리샐러드","charge":6900}]
sourceJsonArr : [{"name":"콥샐러드","charge":4900},{"name":"시푸드샐러드","charge":5400}]
mergeJsonArr : [{"name":"닭가슴살샐러드","charge":5900},{"name":"훈제오리샐러드","charge":6900},{"name":"콥샐러드","charge":4900},{"name":"시푸드샐러드","charge":5400}]

2. 확장 함수 기능 활용

import org.json.JSONArray

fun JSONArray.merge(source: JSONArray) {
        for (i in 0 until source.length()) {
            this.put(source.get(i))
        }
    }

call sample

targetJsonArr.merge(sourceJsonArr)

console log

targetJsonArr : [{"name":"닭가슴살샐러드","charge":5900},{"name":"훈제오리샐러드","charge":6900}]
sourceJsonArr : [{"name":"콥샐러드","charge":4900},{"name":"시푸드샐러드","charge":5400}]
// merge fun call!
targetJsonArr : [{"name":"닭가슴살샐러드","charge":5900},{"name":"훈제오리샐러드","charge":6900},{"name":"콥샐러드","charge":4900},{"name":"시푸드샐러드","charge":5400}]
profile
자기 개발 기록 저장소

0개의 댓글