Tôi có một phản hồi rất lớn từ máy chủ chuỗi JSON. Tôi đã chuyển đổi nó thành đối tượng JSON và sau đó lấy các khóa và lặp lại nó.Khi các khóa của JsonObject được lặp lại, chúng không theo thứ tự như trong phản hồi từ máy chủ
Vấn đề là khi tôi lặp lại nó không theo thứ tự như trong phản hồi từ máy chủ.
Tiếp theo, tôi áp dụng một phương pháp khác bằng cách thêm tất cả các khóa trong List<String>
và sắp xếp nó rồi lấy trình lặp đó nhưng vẫn không phải như tôi yêu cầu (như phản hồi).
Mã ví dụ là ở đây:
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);
Cảm ơn người đàn ông nhưng hãy xem câu hỏi tiếp theo ngay bây giờ. http://stackoverflow.com/questions/7053915/how-to-parse-a-jsonobject-using-jsonarray-that-have-dynamic-ids-in-start-as-inte – mastermind
Thành thật mà nói tôi không nghĩ câu trả lời này là đúng 100%. Ví dụ, đối với mảng trao đổi tiền tệ, nó có thể là cặp {name -> info} và tên có thể được sắp xếp theo mức độ "quan trọng", nghĩa là USD là số 1, vv. Tất nhiên bạn có thể đặt paris này thành các mục mảng, nhưng sau đó chỉ có một tổ bổ sung. Quan điểm của tôi là có thể có nhiều lý do tốt cho thứ tự các mục trong một đối tượng "từ điển" có ý nghĩa. Nếu nó không phải là một phần của thông số kỹ thuật json, thì thông số là sai, không phải mọi người muốn giữ cấu trúc dữ liệu của họ càng sạch sẽ và đơn giản càng tốt. –
@ superarts.org: câu hỏi không phải là liệu các phím của đối tượng JavaScript * có nên được đặt hàng hay không. Câu hỏi đặt ra là các phím của một đối tượng JavaScript * được sắp xếp. Và họ không. –