本文目录一览:
JAVA中遍历JSONObject不能按原顺序遍历
这个估计没办法,json本来就是无序的。我来试一下,没遇到这种情况。
可以重写原码,不过不推荐,如下:
要使输出是有序的,可以用LinkedHashMap来替换HashMap。
修改org.json.JSONObject的构造函数,
public JSONObject() {
this.map = new LinkedHashMap(); //new HashMap();
}
可能会对JSON 函数的执行效率有所影响。
如何从json数组中顺序读取数据
json来做吧,先去下载下jar包。
下面是测试的代码:try{String str = "{'list':['1,2','3,4','5,6']}";JSONObject jsonObject = JSONObject.fromObject(str); //把转为json对象。String array= jsonObject.getString("list"); //获取list的值。JSONArray jsonArray = JSONArray.fromObject(array); //把list的值转为json数组对象。Object[] strs = jsonArray.toArray(); //json转为数组。for(Object s:strs){System.out.println(s);}}catch(Exception e){e.printStackTrace();}
字符串:字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似 字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[0]=“a”,s[9]="j",而字符串的 零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入 数组。
JAVA中按原顺序遍历JSONObject
正常的玩法应该是这样, 因为 ObjectMapper 有各种配置, 可以更好的实现转换, 比如 解析数据顺序, 忽略错误字段 等等 高端大气上档次的东西, 你的方法已经被时代淘汰了。
ObjectMapper objectMapper = new ObjectMapper();
Map map = objectMapper.readValue(resultStr,LinkedHashMap.class);