이거 JSON 맞나요?

조회수 1047회

[["a","b","c","0","0","3","1","1","1","1","1","1"],["a","b","c","1","5","5","1","1","1","1","1","1"]]

이런식으로 되어 있는 데이터인데 JSON 형식이 맞나요? 키,값 이런식이 아니라서요 안드로이드 에서 파싱할려고 하니 type org.json.JSONArray cannot be converted to JSONObject 이런 에러가 나네요

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • 정확히는 JSON 배열(JSONArray)이네요. 그리고 에러문은 "나는 JSON 배열을 JSON 객체(JSONObject) 따위로는 변환하지 않아"라는 뜻이구요.

  • JSONArray 과 JSONObject 타입에 대한 이해가 필요하실 것 같네요.

    JSONArray 는 기본적으로 [ ] 로 식별되며 내부적으로 요소들을 갖을 수 있습니다.

    [1, 2, 3, 4, 5] 
    

    이런식으로 기본 자료형들로 이루어진 Array도 가능하지만, Object나 Array을 요소로 갖을 수도 있습니다.

    JSON에서 Object라고 하면 { } 로 식별되며 key: value 의 쌍으로 이루어진 요소들을 갖을 수 있습니다.

    { "firstname": "peter", "lastname":"ahn" }
    

    본문에 적어주신 예제는 문자열 배열을 요소로 갖고 있는 배열을 의미합니다.

    [
        ["a","b","c","0","0","3","1","1","1","1","1","1"],
        ["a","b","c","1","5","5","1","1","1","1","1","1"]
    ]
    

    이렇게 보시면 이해가 더 잘 되시겠죠?

    보통 JSON으로 convert 할 때는 JSONObject로 변환을 하기 때문에 타입이 맞지 않는다는 에러가 나는 것입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)