공상하는 개발자

[Kotlin/JAVA] JSONObject, JSONArray 이해하기 본문

개발/코틀린

[Kotlin/JAVA] JSONObject, JSONArray 이해하기

공상과학소설 2020. 8. 22. 17:49
반응형

body에 json형식으로 보내서 통신을 하는 경우가 많은데

로그인 같은 간단한 바디는 JSONObject를 이용해서 보내곤 했는데,

배열로 이루어진 복잡한 바디는 어떻게 보내야할지

이 포스팅을 통해 알아보도록 하자.


로그인

요청 바디

비교적 간단한 바디

해결 코드

val jsonObject = JSONObject()
jsonObject.put("userId", id)
jsonObject.put("userPw", pw)
jsonObject.put("deviceToken", "1")
val body = JsonParser.parseString(jsonObject.toString()) as JsonObject

자주 가는 장소 등록

요청 바디

바디가 배열로 들어가있다.

해결 코드

val jsonObjectList = JSONArray()
        for (i in favoriteArr.indices) {
            if (favoriteArr[i].favoriteCategory != -1) {
                val tempJsonObject = JSONObject()
                tempJsonObject.put("favoriteInfo", favoriteArr[i].favoriteInfo)
                tempJsonObject.put("favoriteCategory", favoriteArr[i].favoriteCategory)
                tempJsonObject.put("favoriteLongitude", favoriteArr[i].favoriteLongitude)
                tempJsonObject.put("favoriteLatitude", favoriteArr[i].favoriteLatitude)
                jsonObjectList.put(tempJsonObject)
            }

        }
      	val favorite = JSONObject()
 	favorite.put("favoriteArr", jsonObjectList)
 	val body = JsonParser.parseString(favorite.toString()) as JsonObject

-> 위와 같이 JSONArray를 사용해서 배열이 들어간 요청 바디를 보낼 수 있다.

반응형
Comments