如何解决JsonObject无序的问题

来源:互联网 发布:js math ceil 编辑:程序博客网 时间:2024/05/21 05:06

最近做一个项目解析json数据的时候遇到了json无序的问题,网上搜了半天没找到办法,只能自己想办法了。
先看json数据:

 {     "1": "尺码",     "2": "款式",     "3": "颜色" }

我就想按照顺序输出:

1:尺码 2:款式 3:颜色

但是经常输出是无序的。 (解析的时候是无序的)

但是经常输出是无序的。

定义一个modle 用来存储每一个item.

public class SpecEntity implements Comparable<SpecEntity>{    private int id;    private String spec;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getSpec() {        return spec;    }    public void setSpec(String spec) {        this.spec = spec;    }    @Override    public int compareTo(SpecEntity o) {        if(this.id < o.getId()){            return -1;        }else if(this.id == o.getId()){            return 0;        }else if(this.id > o.getId()){            return 1;        }        return 0;    }}

将json数据解析成链表,代码如下:

private ArrayList<SpecEntity> getJsonList(String jsonStr){    ArrayList<SpecEntity>specList = new ArrayList<SpecEntity>();        try {            JSONObject spec_nameJSONObject = new JSONObject(jsonStr);            Iterator<String> spec_nameIterator = spec_nameJSONObject.keys();            while (spec_nameIterator.hasNext()) {                String key = spec_nameIterator.next();                SpecEntity apecEntity = new SpecEntity();                apecEntity.setSpecKey(key);                apecEntity.setSpecValue(spec_nameJSONObject.getString(key));                specList.add(apecEntity);            }            //看到没这个才是重点!!!!!!            Collections.sort(agentGoodsDetailSpaceBean.getSpec_name());        } catch (Exception e) {            DebugLogUtil.getInstance().Error(e.toString());        }    return specList;}

大家看明白没?下面这句话才是重点,先将json解析成链表,然后给链表排序:

Collections.sort(specList);

原文链接:http://blog.csdn.net/mffandxx/article/details/51606632

0 0