如何解决JsonObject无序的问题
2016-06-07 21:02
393 查看
如何解决JsonObject无序的问题
最近做一个项目解析json数据的时候遇到了json无序的问题,网上搜了半天没找到办法,只能自己想办法了。先看json数据:
{ "1": "尺码", "2": "款式", "3": "颜色" }
我就想按照顺序输出:
1:尺码 2:款式 3:颜色
但是经常输出是无序的。
我的解决办法思路是这样的:先将json解析成链表,然后重新排序一下,具体代码如下:
定义一个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);
好了就讲到这吧。如果有更好的办法,请大家告知我,谢谢!
相关文章推荐
- Glib GObject
- objective-C 编程全解-第08章 类NSObject和运行时系统 下
- objective-C 编程全解-第08章 类NSObject和运行时系统 中 下
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)(转)
- Objective-C Runtime 运行时之一:类与对象
- java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.jackson.map.ObjectMapper
- [Android] 解决Volley中JsonObjectRequest的Post请求添加参数的问题
- iOS UIWebView中Objective-C与Javascript的深层交互(三)
- objective-C 编程全解-第08章 类NSObject和运行时系统 中 上
- Objective-C编程语言中nil、Nil、NULL、NSNull有什么区别
- iOS UIWebView中Objective-C与Javascript的深层交互(二)
- iOS UIWebView中Objective-C与Javascript的深层交互(一)
- wrieteObject与readObject
- objc 中国
- 【转】Effective-Objective-C-读书笔记-Item-4-如何正确定义常量 -- 不错
- rbd块映射
- Attempt to set a non-property-list object 报错问题
- Could not enlist in transaction on entering meta-aware object
- Objective-C --- block (梳理整理)
- Java中Object类