首页 > 其他分享 >JSONObject参数顺序问题

JSONObject参数顺序问题

时间:2023-11-30 21:31:30浏览次数:65  
标签:username 顺序 uid JSONObject idcard param 参数 user put

签名需要规定参数顺序不能错。

一开始是这么写的

JSONObject param = new JSONObject();
param.put("idcard", user.getIdCard());
param.put("mobile", user.getPhone());
param.put("uid", user.getId());
param.put("username", user.getName());

期望得到的顺序应该是:

{"idcard":"370781199901230125","mobile":"156****2845","uid":1,"username":"张三"}

但是实际得到的顺序却是:

{"uid":1,"idcard":"370781199901230125","mobile":"156****2845","username":"张三"}

解决方法1:

JSONObject param = new JSONObject(true);
param.put("idcard", user.getIdCard());
param.put("mobile", user.getPhone());
param.put("username", user.getName());
param.put("uid", user.getId());

得到:{"idcard":"370781199901230125","mobile":"156****2845","username":"张三","uid":1}

解决方法2:

JSONObject param = new JSONObject(new LinkedHashMap<>());
param.put("idcard", user.getIdCard());
param.put("mobile", user.getPhone());
param.put("username", user.getName());
param.put("uid", user.getId());

同样得到:{"idcard":"370781199901230125","mobile":"156****2845","username":"张三","uid":1}

标签:username,顺序,uid,JSONObject,idcard,param,参数,user,put
From: https://blog.51cto.com/u_16087786/8634195

相关文章

  • spark提交参数 [spark.yarn.dist.jars] 和 [spark.yarn.jars ]区别
    spark.yarn.dist.jars作用用于指定分发到集群节点上的JAR包的路径。工作原理Spark应用程序的执行器会将这些JAR包分发到它们的本地文件系统上。这样,应用程序可以在执行期间访问这些JAR包。使用场景适用于应用程序的依赖项,这些依赖项不需要在整个集群中共......
  • 查看JVM默认参数
    java-XX:+PrintFlagsFinal-version[Globalflags]uintxAdaptiveSizeDecrementScaleFactor=4{product}uintxAdaptiveSizeMajorGCDecayTimeScale=10{product}u......
  • 秦疆的Java课程笔记:48 方法 命令行传递参数
    一般简称“命令行传参”,了解即可。有时候需要运行一个程序时再传递给它消息。这要靠传递命令行参数给main()函数来实现。格式如下:publicclassCommandLine{ publicstaticvoidmain(Stringargs[]){ for(inti=0;i<args.length;i++){ System.out.println("a......
  • 秦疆的Java课程笔记:49 方法 可变参数
    也叫做“不定项参数”。JDK1.5开始,Java支持传递同类型的可变参数给一个方法。在方法声明中,在指定参数类型后加一个省略号(也就是三个句号)...。一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。publicclassDemo1{publ......
  • Linux 内核参数调整解析:深度优化数据库性能 转载:https://www.toutiao.com/article/73
    系统内核参数配置文件:/etc/sysctl.conf一、参数说明1、关闭IPv6支持net.ipv6.conf.all.disable_ipv6=1net.ipv6.conf.default.disable_ipv6=1作用:关闭对IPv6的支持,减轻系统负担,提高安全性。解析:net.ipv6.conf.all.disable_ipv6:禁用系统中所有网络接口的IPv6。net......
  • locust多任务按顺序执行
    背景想要低并发验证不同通道的响应时间,即不同的域名访问同一资源,需要验证不同的域名响应时长。实践1写了个简单的locustfile.py内容如下:#locustfile.pyfromlocustimportHttpUser,task,TaskSet,betweenclassMyUser(HttpUser):wait_time=between(0.1,1.0)#......
  • @Autowired作用在方法上 @autowired注解放在方法上,如果方法没有参数,spring容器会在类
    @Autowired作用在方法上@autowired注解放在方法上,如果方法没有参数,spring容器会在类加载完后执行一次这个方法;如果方法中有参数的话,还会从容器中自动注入这个方法的参数,然后执行一次这个方法。@autowired用于测试的实体类User,并将这个类注入到Spring容器中,为@autowired注解......
  • SpringBoot的配置文件application.yml及加载顺序详解
    SpringBoot配置文件application.yml及加载顺序配置文件分类自定义配置文件配置文件总结Springboot中application.yml、application.properties和bootStrap.yml加载顺序SpringApplication位于项目根目录以jar包发布springboot项目时若application.yml和bootStra......
  • SQL 关键字执行顺序
    1.FromandJOIN首先我们进行查询的时候,肯定是先获得一份数据集的,From语句和JOIN被先执行的,就是为了获得数据集的。2.WHERE一旦数据集给拿到了,WHERE限制条件会被用到某些行上,并把不满足的行给抛弃掉。并且,这能够用到各种数据类型中3.GROUPBYWHERE条件限定之后,接下来就是GRO......
  • openGauss学习笔记-134 openGauss 数据库运维-例行维护-检查操作系统参数
    openGauss学习笔记-134openGauss数据库运维-例行维护-检查操作系统参数134.1检查办法通过openGauss提供的gs_checkos工具可以完成操作系统状态检查。前提条件当前的硬件和网络环境正常。各主机间root互信状态正常。只能使用root用户执行gs_checkos命令。操作步骤以r......