programing

Android에서 Json 어레이 읽기

muds 2023. 3. 22. 22:17
반응형

Android에서 Json 어레이 읽기

JSON 어레이를 읽으려고 합니다.여기 제 코드가 있습니다.

        JSONArray jArray = new JSONArray(jsonString);

        System.out.println("*****JARRAY*****"+jArray.length());
        for(int i=0;i<jArray.length();i++){


                JSONObject json_data = jArray.getJSONObject(i);
                Log.i("log_tag","_id"+json_data.getInt("account")+
                        ", mall_name"+json_data.getString("name")+
                        ", location"+json_data.getString("number")+
                        ", telephone"+json_data.getString("url")+
                        ",----"+json_data.getString("balance")+
                        ",----"+json_data.getString("credit")+
                        ",----"+json_data.getString("displayName")
                );

        }

그리고 샘플 JSON 파일의 구문은 다음과 같습니다.

{
    "list": [
        {
            "account": 1,
            "name": "card",
            "number": "xxxxx xxxx xxxx 2002",
            "url": "http://www.google.com",
            "balance": 1.0,
            "credit": 1.0,
            "displayName": "hsbc bank" 
        },
        {
            "account": 2,
            "name": "card2",
            "number": "xxxxx xxxx xxxx 3003",
            "url": "http://www.google.com",
            "balance": 2.0,
            "credit": 2.0,
            "displayName": "nsb bank" 
        } 
    ],
    "count": 2
}

앞부분이 곱슬곱슬해요.이 코드 블록을 실행하려고 하면 다음과 같은 오류가 발생합니다.

JSONArray 텍스트는 다음 문자 1에서 '['로 시작해야 합니다.

이런 문제를 겪은 사람이 있나요?어떤 도움이라도 주시면 감사하겠습니다.가능하다면 샘플 코드 블록을 보여주세요.잘 부탁드립니다.

JSON 객체는 다음 문자로 시작합니다.{마지막으로 a로 끝납니다.}JSON 어레이의 선두에는[마지막으로 a로 끝납니다.].

사용자의 경우 코드를 변경하여JSONObject대신.

JSONObject json = new JSONObject(jsonString);
JSONArray jArray = json.getJSONArray("list");

System.out.println("*****JARRAY*****" + jArray.length());

for(int i=0; i<jArray.length(); i++){
    JSONObject json_data = jArray.getJSONObject(i);

    Log.i("log_tag", "_id" + json_data.getInt("account") +
        ", mall_name" + json_data.getString("name") +
        ", location" + json_data.getString("number") +
        ", telephone" + json_data.getString("url") +
        ",----" + json_data.getString("balance") +
        ",----" + json_data.getString("credit") +
        ",----" + json_data.getString("displayName")
    );
}

먼저 어레이를 가져올 JSONObject를 생성해야 합니다.다음과 같이 동작합니다.

JSONObject jsonObject = new JSONObject(jsonString);

JSONArray jArray = jsonObject.getJSONArray("list");

문자열 결과 = js.getString("Result");

                    JSONArray js2 = new JSONArray(result);
                    for (int i = 0; i < js2.length(); i++) {
                        JSONObject js3 = js2.getJSONObject(i);
                        categoriescity.add(js3.getString("Title"));
                    }

언급URL : https://stackoverflow.com/questions/4244879/reading-a-json-array-in-android

반응형