`

JSONObject.parseObject,fastjson属性排序问题

阅读更多

fastjson中,如果需要得到有序的属性排列,有两种方案

Map pramMap = JSONObject.parseObject(reqParams, TreeMap.class);
String serial = JSON.toJSONString(pramMap, SerializerFeature.SortField)

 上面这段代码得到的字符串字段就是有序的,但是这段代码有个前提,那就是paramMap必须是TreeMap才可以,如果paramMap是HashMap,则SerializerFeature.SortField是不起任何鸟用的,

但是上面代码还有个缺陷,那就是如果属性里面套属性,这个时候第二次的属性的顺序依然是乱的,所以就出现了第二种方案:

 

Map pramMap = JSONObject.parseObject(reqParams, Feature.OrderedField);
String serial = JSON.toJSONString(pramMap);

 这种方案的优势就是解决上面的属性是对象,对象里面的属性顺序问题,因为第一步代码做完之后得到的Map是有序的jsonObject对象,然后把这个对象toJSONString后得到的字符串属性不管多少层属性,都是有序的。

分享到:
评论

相关推荐

    com.alibaba.fastjson.JSONObject.rar

    例如,你可以通过`JSONObject.parseObject(String jsonString)`将一个JSON格式的字符串解析为JSONObject对象;反之,通过`toString()`方法,可以将JSONObject转换回JSON格式的字符串。 在操作JSONObject时,常见的...

    com.alibaba.fastjson.JSONObject(JAR包)

    com.alibaba.fastjson.JSONObject(JAR包)下载 ,jar包含了json的转换和使用

    com.alibaba.fastjson.JSON , net.sf.json.JSONObject

    Map, Object> map = (Map, Object>) JSONObject.toBean(jsonObject); ``` 在给定的压缩包文件中,除了Fastjson和Json-lib库,还有其他几个依赖库,它们在处理JSON时也起到辅助作用: - `commons-collections-3.1...

    com.alibaba.fastjson.JSONObject(JAR包V1.2.73)

    网上都说fastjson很方便,很多教程说如何使用但是却没有jar包,这个版本是2020年目前最新的fastjson-1.2.73

    java开发-com.alibaba.fastjson.JSONObject

    在Java开发中,`com.alibaba.fastjson.JSONObject`是阿里巴巴开源库Fastjson的重要组成部分,它提供了一种高效、方便的方式来处理JSON数据。Fastjson是Java语言编写的高性能功能完备的JSON库,广泛应用于各种Java...

    JSONObject对象依赖的6个jar包

    JSONObject对象依赖的6个jar包,非常重要日包,可以解析Response响应日JSON JSONObject json = JSONObject.fromObject(Response);

    JSONObject依赖的Jar包.rar

    在web项目中经常会用到json数据(如:struts2处理请求返回json数据给jsp解析),因此,JSONObject对象是必备的,这时就需要引入相关的jar包了。

    JSONObject对象依赖的jar包

    String jsonString = jsonObject.toString(); ``` 此外,`JSONObject`还支持从JSON字符串反序列化到Java对象: ```java String jsonString = "{\"name\":\"John\", \"age\":30}"; JSONObject jsonObject = new ...

    JSONObject所需要的6个jar包

    JSONObject所必须的6个jar包: commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging.jar ezmorph-1.0.3.jar json-lib-2.1-jdk15.jar

    JSONObject java解析json需要的jar包和依赖包

    for (Iterator<String> iterator = jsonObject.keys(); iterator.hasNext(); ) { String key = iterator.next(); Object value = jsonObject.get(key); System.out.println("Key: " + key + ", Value: " + value...

    JAVA内存溢出问题总结

    JAVA内存溢出问题总结 JAVA 内存溢出问题是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用的内存大于虚拟机能提供的最大内存。内存溢出问题可以从容器和程序类两个方面进行排查,容器问题...

    jsonObject 源码

    `jsonObject`是处理JSON数据的一种对象,在Java中,常见的实现是`org.json.JSONObject`类,它属于`org.json`包。这个类提供了一系列的方法来创建、解析和操作JSON对象。 在`JSONObject`的源码中,我们可以看到以下...

    fastjson-1.2.48.jar

    com.alibaba.fastjson.JSONObject(JAR包)下载 ,jar包含了json的转换和使用

    Android FastJSON小示例

    String name = jsonObject.getString("name"); int age = jsonObject.getIntValue("age"); String city = jsonObject.getString("city"); System.out.println("Name: " + name); System.out.println("Age: " +...

    fastjson-1.2.5.rar

    将socket传输数据变为类似json的字符串类型(String) 封装与解析十分简单方便。 解决了当一个数据对象模型...JSON.parseObject(xxx);可以指定解析为JSONObject 通过int id = msgJsonObject.getInteger("id");拿到值。

    JSONObject所需要的6大jar包

    例如,描述中的代码`JSONObject jsonObject = JSONObject.fromObject(Map);`就是利用了这个库将Map对象转换为JSONObject。 除了`org.json.jar`,其他可能的jar包可能包括: 1. `Jackson-all-1.x.x.jar`: Jackson是...

    JsonUtils.java

    快速获取复杂JSON中指定key的值,拒绝多次JSON.parseObject和JSONObject.parseObject,快速定位想要的数据!

    fastjson-1.2.5.jar包

    String jsonString = jsonObject.toJSONString(); // 解析JSON字符串 JSONObject parsedJson = JSON.parseObject(jsonString); // 获取并打印字段值 System.out.println("Name: " + parsedJson.getString(...

    JSONObject所必须的6个包

    在Java编程中,JSONObject是一个非常重要的工具类,用于处理JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。当我们需要在Java程序中与JSON...

    fastjson使用

    String name = jsonObject.getString("name"); int age = jsonObject.getIntValue("age"); ``` - **设置值**: ```java jsonObject.put("name", "Jerry"); jsonObject.put("age", 30); ``` ### 3. 高级功能 #### ...

Global site tag (gtag.js) - Google Analytics