haiyofedsfd
30
2019-03-16 12:47:05 작성 2019-03-16 13:15:07 수정됨
0
102

자바 JSON 파싱 질문드립니다.


죄송합니다. 어제 똑같은 질문 올렸는데

검색을 해보고 코드를 쳐봐도 풀지를 못해서 한번 더 올려봅니다 ㅜㅜ

"hi":[

  1.     {
    • "a":1,
    • "b":2,
    • "c":{
      • "cid":123,
      • "cpw":234,
      •   }
      • },
      • {  
      •     "a":11,
        • "b":22,
        • "c":{
          • "cid":123123,
          • "cpw":234234,
          •   }
          • }
          • ]

          GSON으로 자바에서 파싱 연습을 하고있는데

          이런 형태의 Json으로 연습하고 있습니다.

          근데 위에 a와 b의 값은 

          JsonParser jp = new JsonParser();

          JsonObject obj = (JsonObject) jp.parse(파싱값);

          JsonArray arr = (JsonArray)obj.get("hi");

                          long a= 0;

                  long b= 0;

          for(int i=0; i <arr.size();i++) {

                   JsonObject obj = (JsonObject)arr.get(i);

                   a= obj .get("a").getAsLong();

                   b= obj .get("b").getAsLong();

                   System.out.println("a의 값  :" + a);

                   System.out.println("b의값 : "+b);

                          System.out.println("------------------------");

          }

          이런식으로 작성해서

          a의 값 :1

          b의 값 : 2

          ------------------------

          a의 값 :11

          b의 값 : 22

          ------------------------

          이렇게 뽑아 냈는데 문제는 저 f 안의 

          f : { fid ,fpw} 값을 어떻게 뽑아내야할지 모르겠습니다.

          저건 {}중괄호로 되어있어서 배열이 아니고 오브젝트라 jsonArray도 안되고 

          JsonObject subObj = obj.getAsJsonObject("c")

          이걸 쓰라고 하셔서

           해봤는데 이걸 어떻게 적용 시켜야 할지 잘 모르겠습니다.

          a의 값 :1

          b의 값 : 2

          cid의 값 : 123

          cpw의 값 : 234

          ------------------------

          a의 값 :11

          b의 값 : 22

          cid의 값 : 123123

          cpw의 값 : 234234

          ------------------------

          이렇게 뽑고 싶은데 고수님들 어떻게 적용 해야 할까요...


          0
          0
          • 답변 0

          • 로그인을 하시면 답변을 등록할 수 있습니다.