JSON 문자열의 서버에서 응답이 매우 큽니다. JSON 개체로 변환 한 다음 키를 가져 와서 반복합니다.JsonObject의 키를 반복 할 때 서버의 응답과 순서가 다릅니다.
문제는 서버에서 응답 할 때와 같은 순서로 반복하지 않는 경우입니다.
다음으로 List<String>
에있는 모든 키를 추가하고 정렬 한 다음 다른 키를 추가하여 다른 방법을 적용한 다음 반복기를 가져 오지만 여전히 응답 할 때와 다릅니다.
코드 예제는 여기에 있습니다 :
JSONObject jsonObject = new JSONObject(responseString);
Iterator<String> myIter = jsonObject.keys();
List<String> sortKey = new ArrayList<String>();
while(myIter.hasNext()){
sortKey.add(myIter.next());
}
Collections.sort(sortKey);
고맙습니다.하지만 다음 질문을 지금보십시오. http://stackoverflow.com/questions/7053915/how-to-parse-a-jsonobject-using-jsonarray-that-have-dynamic-ids-in-start-as-inte – mastermind
솔직히 말하면 나는 생각하지 않습니다. 이 답변은 100 % 사실입니다. 예를 들어, 환전 배열의 경우 {name -> info} 쌍이 될 수 있고 이름은 "중요"즉, USD가 1 등일 때 정렬 할 수 있습니다. 물론이 paris를 배열 항목에 넣을 수 있습니다. 그러나 추가 둥지가 있습니다. 제 요점은 "사전"객체의 항목 순서가 의미있는 많은 이유가있을 수 있다는 것입니다. 이것이 json 사양의 일부가 아니라면 사양이 잘못되었습니다. 사람들은 데이터 구조를 가능한 한 깨끗하고 단순하게 유지하려고하지 않습니다. –
@ superarts.org : JavaScript 객체 *의 키를 주문해야하는지 여부는 문제가 아닙니다. 질문은 자바 스크립트 객체 *의 키가 주문되었는지 여부입니다. 그리고 그들은 그렇지 않습니다. –