为什么我的值出现在字符串的开头,即使它应该在结尾?

时间:2014-04-26 09:13:49

标签: java

" 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()+",");
    }
}

1 个答案:

答案 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"));