반응형
Java loop over Json 어레이?
다음 사항을 반복하려고 합니다.JSON
{
"dataArray": [{
"A": "a",
"B": "b",
"C": "c"
}, {
"A": "a1",
"B": "b2",
"C": "c3"
}]
}
지금까지 알아낸 정보:
JSONObject jsonObj = new JSONObject(json.get("msg").toString());
for (int i = 0; i < jsonObj.length(); i++) {
JSONObject c = jsonObj.getJSONObject("dataArray");
String A = c.getString("A");
String B = c.getString("B");
String C = c.getString("C");
}
좋은 생각 있어요?
당신의 코드에서 요소는dataArray
는 JSON 오브젝트의 배열이며 JSON 오브젝트 자체가 아닙니다.요소A
,B
,그리고.C
JSON 객체의 일부입니다.dataArray
JSON 어레이
어레이를 반복해야 합니다.
public static void main(String[] args) throws Exception {
String jsonStr = "{ \"dataArray\": [{ \"A\": \"a\", \"B\": \"b\", \"C\": \"c\" }, { \"A\": \"a1\", \"B\": \"b2\", \"C\": \"c3\" }] }";
JSONObject jsonObj = new JSONObject(jsonStr);
JSONArray c = jsonObj.getJSONArray("dataArray");
for (int i = 0 ; i < c.length(); i++) {
JSONObject obj = c.getJSONObject(i);
String A = obj.getString("A");
String B = obj.getString("B");
String C = obj.getString("C");
System.out.println(A + " " + B + " " + C);
}
}
인쇄하다
a b c
a1 b2 c3
어딘지 몰라.msg
코드 스니펫에서 나오고 있습니다.
Java Docs to rescue:
대신 http://www.json.org/javadoc/org/json/JSONObject.html#getJSONArray(java.lang.String)을 사용할 수 있습니다.
JSONArray dataArray= sync_reponse.getJSONArray("dataArray");
for(int n = 0; n < dataArray.length(); n++)
{
JSONObject object = dataArray.getJSONObject(n);
// do some stuff....
}
인덱싱 없이 수행할 수 있는 방법은 다음과 같습니다.
JsonArray jsonArray;
Iterator<JsonElement> it = jsonArray.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
예를 들어 io.vertx.core.json을 사용하는 경우.JsonArray를 개체에서 변환해야 합니다.
JsonArray jsonArray;
Iterator<Object> it = jsonArray.iterator();
while(it.hasNext()){
JsonObject jobj = (JsonObject) it.next();
System.out.println(jobj);
}
언급URL : https://stackoverflow.com/questions/19018509/java-loop-over-json-array
반응형
'programing' 카테고리의 다른 글
Angular에서 "config"에 "$window" 객체를 "injection"하는 방법JS (0) | 2023.03.19 |
---|---|
WordPress에서 쿠키를 설정, 입수 및 파기하려면 어떻게 해야 합니까? (0) | 2023.03.19 |
템플릿을 요구하는 여러 디렉티브: (0) | 2023.03.19 |
AngularJS 오류: $injector: Unpr Unknown Provider (0) | 2023.03.19 |
TypeError: b'1'은 JSON을 직렬화할 수 없습니다. (0) | 2023.03.19 |