fastJson顺序遍历JSON字段

fastJson在把json格式的字符串转换成JSONObject的时候,使用的是HashMap,所以排序规则是根据HASH值排序的,如果想要按照字符串顺序遍历JSON属性,需要在转换的时候指定使用LinkedHashMap代替HashMap。

public static void main(String[] args) {
        String jsonStr = "{\"size\":\"7.5\",\"width\":\"M (B)\"}";

        System.out.println("无序遍历结果:");
        JSONObject jsonObj = JSON.parseObject(jsonStr);
        for (Map.Entry<String, Object> entry : jsonObj.entrySet()) {
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }

        System.out.println("-------------------");
        System.out.println("有序遍历结果:");
        LinkedHashMap<String, String> jsonMap = JSON.parseObject(jsonStr, new TypeReference<LinkedHashMap<String, String>>() {
        });
        for (Map.Entry<String, String> entry : jsonMap.entrySet()) {
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }
    }
时间: 2024-10-29 08:47:10

fastJson顺序遍历JSON字段的相关文章

使用for in循环遍历json对象的数据

使用for in遍历json对象数据,如果数据中的名称有为数字的话,只对正整数有效,那么先会输出为正整数的数据,后面其他的会按照原来数据中定义的顺序不变输出. 针对名称为数字的json对象数据进行测试,代码如下: <script type="text/javascript"> var json_obj_data = { "40":{"title":"all" , "name" :"al

Mybatis深度整合Mysql的Json字段

概述以前当业务数据结构变化时,往往需要采用的方案是:?修改表结构增加字段?遇到数据结构有list结构时,新建1对多的关联子表?用字典表表示字段的增加以上方案对代码侵入性很强,同时与旧业务数据结构不兼容.导致代码从实体类.Dao.Service.Controller层都要修改. 随着NOSQL数据库的广泛应用,可扩展的存储方式在关系型数据库中也有了很好的支持,最新的MySQL5.7中就新增加了一个数据类型JSON,使用mysql的json类型字段做扩展字段,可以以json串形式动态的存储任意结构的

FastJson学习:JSON格式字符串、JSON对象及JavaBean之间的相互转换

当前台需要传送一系列相似数据到后端时,可以考虑将其组装成json数组对象,然后转化为json形式的字符串传输到后台 例如: nodes = $('#PmPbsSelect_tree').tree('getChecked'); var data=[]; for(var i=0;i<nodes.length;i++){ if(!isParentCheck(nodes[i],nodes)){ data.push({"id":nodes[i].id, "pid":no

遍历json数组的常用方式

遍历json对象数组 1. 传统数组遍历 var data=[{"name":"zhangsan","age":12},{"name":"lisi","age":22}]; for(var i=0;i<data.length;i++) { alert(data[i].name+"--"+data[i].age); } 2.key/value map方式遍历 ke

for-in遍历json数据

1.for遍历json数据 var json = {'name':'wly','age':'22','fun':'前端开发'} for(var attr in json){ alert(json[attr]) //遍历json属性的数据 alert(json['name']) //访问单个json属性 } 2.for in 遍历对象属性 var str = ''; var num = 0; for(var attr in window){ str += num + '.'+ attr+':'+

jquery 遍历 json【转】

jquery 遍历 json <HTML> <HEAD> <!-- meta 解释 : http://www.haorooms.com/post/html_meta_ds --> <meta http-equiv="content-Type"content="text/html;charset=utf-8"> <TITLE></TITLE> <style> </style>

如何遍历json属性和动态添加属性

var person= { name: 'zhangsan', pass: '123' , 'sni.ni' : 'sss', hello:function (){ for(var i=0;i<arguments.length;i++){ //在不知参数个数情况下可通过for循环遍历 // arguments这个是js 默认提供 alert("arr["+i+"]="+arguments[i]); } } } //遍历属性 for(var item in pe

遍历 JSON JavaScript 对象树中的所有节点

我想要遍历 JSON 对象树中,但为何找不到任何一间图书馆.这似乎是不难,但感觉就像重新发明轮子. 在 XML 中有很多教程演示如何遍历 XML DOM 树:( 解决方法 1: 如果你认为 jQuery 是什么样的overkill这种原始的任务,你可以这样做: //your object var o = { foo:"bar", arr:[1,2,3], subo: { foo2:"bar2" } }; //called with every property an

js遍历json数据

var jsondata=[{"男":4,"女":3,"不详":0},{"男one":23,"女two":12,"不详two":10}];//对于json形式的数组 ,我们得到其中某个键对应的值是很容易的,//例如得到男对应的值var man=jsondata[0].男:一:循环得到json的键和值但是有些情况下 我们需要得到建和值eg:得到json数组中第一个元素的键值 for (va