" Statuses_count"应该是在字符串的末尾,但不知何故,它出现在前面。我不明白为什么,即使其他值处于所需的顺序中,这个也只是在字符串的开头,即使它应该是最后的。这是代码。
// loop over inner User object
JSONObject user = (JSONObject) jsonObject.get("user");
Iterator<JSONObject> iterator_user = user.entrySet().iterator();
while (iterator_user.hasNext()) {
Map.Entry entry = (Map.Entry)iterator_user.next();
//get user name
if (entry.getKey().equals("name")) {
sb.append(entry.getValue()+",");
}
//get user followers count
if (entry.getKey().equals("followers_count")) {
sb.append(entry.getValue()+",");
}
//get user tweets count
if (entry.getKey().equals("statuses_count")) {
sb.append(entry.getValue()+",");
}
}
答案 0 :(得分:3)
您的示例中缺少许多内容来获得更好的答案:
user.entrySet()
返回set我认为并且set不需要排序(例如HashSet
未排序,TreeSet
已排序且LinkedHashSet
已“排序”)
这里的正确方法不是对集合进行排序,而是使用可能映射为的JSONObject
sb.append(user.get("name"));
sb.append(user.get("followers_count"));
sb.append(user.get("statuses_count"));