fastjson中JSONObject遍历怎么不是有序的

fastjson中JSONObject遍历怎么不是有序的,第1张

这个估计没办法,json本来就是无序的。我来试一下,没遇到这种情况。 可以重写原码,不过不推荐,如下: 要使输出是有序的,可以用LinkedHashMap来替换HashMap。 修改org.json.JSONObject的构造函数, public JSONObject() {

正常情况下,fastjson是将json数据放到HashMap里面的,输出后没有顺序,如下:

String jsonStrInit="{\"size\":\"7.5\",\"width\":\"M (B)\"}"       

JSONObject jsonObj = JSON.parseObject(jsonStrInit)

for(Map.Entry<String,String>entry : jsonObj.entrySet()) {

System.out.println(entry.getKey() +":"+ entry.getValue())

}

参考了网友的做法,才发现还有这个小妙招,记录一下

System.out.println("有序遍历结果:")       

LinkedHashMap<String,String>jsonMap = JSON.parseObject(jsonStrInit,newTypeReference<LinkedHashMap<String,String>>() {})

for(Map.Entry<String,String>entry : jsonMap.entrySet()) {

System.out.println(entry.getKey() +":"+ entry.getValue())

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/tougao/11303736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存