本文介绍: JSONObject 内部是用 Map存储的:● HashMap 元素无序的● LinkedHashMap 元素有序

推荐链接
    总结——》【Java】
    总结——》【Mysql】
    总结——》【Redis】
    总结——》【Kafka】
    总结——》【Spring】
    总结——》【SpringBoot】
    总结——》【MyBatis、MyBatis-Plus】
    总结——》【Linux】
    总结——》【MongoDB】
    总结——》【Elasticsearch】

一、源码

JSONObject 内部是用 Map*存储的:

image.png

二、JSONObjet顺序显示

通过下面两种方法实现固定排序

  1. JSONObject jsonObj = new JSONObject(new LinkedHashMap<String, Object>());
  2. JSONObject jsonObj = new JSONObject(true);
import com.alibaba.fastjson.JSONObject;

import java.util.LinkedHashMap;

public class Test {
    public static void main(String[] args) {
        // JSONObject内部是用HashMap来存储的,HashMap 元素无序的,LinkedHashMap 元素是有序的
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("3","c");
        jsonObject.put("2","b");
        jsonObject.put("1","a");
        System.out.println(jsonObject);

        // 固定排序(保持put时的顺序):方法1
        jsonObject = new JSONObject(true);
        jsonObject.put("3","c");
        jsonObject.put("2","b");
        jsonObject.put("1","a");
        System.out.println(jsonObject);

        // 固定排序(保持put时的顺序):方法2
        jsonObject = new JSONObject(new LinkedHashMap<>());
        jsonObject.put("3","c");
        jsonObject.put("2","b");
        jsonObject.put("1","a");
        System.out.println(jsonObject);
    }
}

image.png

原文地址:https://blog.csdn.net/weixin_43453386/article/details/134733297

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_28884.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注