fastjson jsonobject对象转为网址传参pathvalue形式并按首字母排序
效果

代码
@Test
public void test() {
JSONObject jsonObject = new JSONObject(true);
jsonObject.put("a","123");
jsonObject.put("db","11");
jsonObject.put("dd","asdasd");
jsonObject.put("b1","123123");
System.out.println(jsonObject.toJSONString());
System.out.println(json2pathValue(jsonObject));
}
/**
* JSON对象转为网址传参格式(按key的首字母从小到大排序)
* @param jsonObject
* @return
*/
public String json2pathValue(JSONObject jsonObject){
Map map = jsonObject.toJavaObject(Map.class);
Set<String> set = map.keySet();
List<String> keyList = new ArrayList<>(set);
List<String> collect = keyList.stream().sorted().collect(Collectors.toList());
StringBuilder stringBuilder = new StringBuilder();
for (String s : collect) {
stringBuilder.append(s).append("=").append(map.get(s).toString()).append("&");
}
stringBuilder.deleteCharAt(stringBuilder.lastIndexOf("&"));
return stringBuilder.toString();
}
fastjson jsonobject对象转为网址传参pathvalue形式并按首字母排序的更多相关文章
- Java中实现对集合中对象按中文首字母排序
有一个person对象如下: public class Person { private String id;private String nam; } 一个list集合如下: List<Emp ...
- C#实体对象序列化成Json并让字段的首字母小写的两种解决方法
引言:最近在工作中遇到与某些API对接的post的数据需要将对象的字段首字母小写.解决办法有两种:第一种:使用对象的字段属性设置JsonProperty来实现(不推荐,因为需要手动的修改每个字段的属性 ...
- Django视图与网址传参
目的:采用/add?a=1&b=2 这样get/post方法进行 修改一下mysite/views.py文件 from django.shortcuts import renderfrom ...
- com.alibaba.fastjson.JSONObject之对象与JSON转换方法
com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSON对象转换Java ...
- FastJSON将Java对象转为json,日期显示时间戳未格式化解决办法
JSON版本:FastJson Java 对象转换为 JSON 格式 定义以下 Person JavaBean: public class Person { @JSONField(name = &qu ...
- 42-字符串到json 的错误 com.alibaba.fastjson.JSONObject cannot be cast to java.lang.String
json: {"updated_at":1551780617,"attr":{"uptime_h":3,"uptime_m&quo ...
- 序列化表单为json对象,datagrid带额外参提交一次查询 后台用Spring data JPA 实现带条件的分页查询 多表关联查询
查询窗口中可以设置很多查询条件 表单中输入的内容转为datagrid的load方法所需的查询条件向原请求地址再次提出新的查询,将结果显示在datagrid中 转换方法看代码注释 <td cols ...
- 探索RequestBody报com.alibaba.fastjson.JSONObject cannot be cast to xxx
今天使用RequestBody接受前端传过来的参数,以前接受字符串数组非常成功,这次把形参改成了List<User>,原本以为顺利接受参数并映射成User的list结构,结果竟然在我取us ...
- JAVA中将对象转为Map类型
之前讲过将Map转为JAVA对象的文章,那么问题来了,如果要把JAVA对象转为Map,又该怎么操作呢?这里亲测了2个方法可行,但目前这2个方法都是基于简单JAVA Bean的情况(即Bean中不能嵌套 ...
- No message body writer has been found for class com.alibaba.fastjson.JSONObject, ContentType: */*
1:当使用 cxf 发布服务时,要求返回值类型为xml,或者json等 @Path("/searchProductByText") @GET @Produces({"ap ...
随机推荐
- @SpringBootApplication自动配置原理
@EnableAutoConfiguration 是核心,他会调用一个@Import注解.我们已知Import自动配置得实现是通过创建ImportSelector 接口的实现类并重写里面selectI ...
- python xlrd xlwr函数 读取excel好文总结
https://www.cnblogs.com/python-robot/p/9958352.html 官网: http://www.python-excel.org/ 好文: https://www ...
- linux shell用expect实现在scp时自动输入密码
文章目录 linux shell用expect自动输入密码 按行读取文件 expect 其他 linux shell用expect自动输入密码 最近有东西需要部署到很多服务器上去,一个服务器一个服务器 ...
- 解决排查 mongodb cpu使用率过高
前言 通过 top 命令,可以看到 MongoDB 的 CPU 使用率过高,CPU 过高会导致数据读写.处理异常缓慢,还会出现被系统抹杀进程的风险,这个问题 99.9999% 的可能性是用户使用上不合 ...
- CentOS 版本选择DVD、Everything、LiveCD、Minimal、NetInstall
CentOS 7.X,主要是下载的时候有很多版本供选择,如何选择? DVD版:这个是常用版本,就是普通安装版了,推荐大家安装.里面包含大量的常用软件,大部分情况下安装时无需再在线下载,体积为4G.Ev ...
- 在Linux中查看分区表的4种方法
作为Linux管理员,我们需要一次又一次地查看硬盘的分区表.这有助于我们通过为进一步分区腾出空间来重新组织旧驱动器,并在必要时为新驱动器创建空间.您可以在硬盘上创建不超过四个主分区,但可以在多个逻辑分 ...
- Linux+Typora+Picgo图床配置
Linux+Typora+Picgo图床配置 首先不建议安装在UbuntuStore里的版本,会有一些限制. 首先安装node.js 去官网下载编译好的源码,配置软连接,使全局都可以使用node命令. ...
- MySQL 事务隔离级别:社交恐惧症的四个阶段
MySQL 事务隔离级别:社交恐惧症的四个阶段 在数据库的世界里,数据们也有社交问题!事务隔离级别就是控制它们互相看到对方的程度... 什么是事务隔离? 想象一下,数据库是一个繁忙的餐厅,每个事务都是 ...
- nodejs队列
nodejs队列 创建具有指定并发性的队列对象.添加到队列的任务以并行方式处理(直到并发性限制).如果所有的worker都在进行中,任务就会排队,直到有一个worker可用.worker完成任务后,将 ...
- 记录一次ubuntu软件安装未完全的解决
背景 预想是在ubuntu20.10上去安装android-studio,所以找了个教程,是使用ubuntu-make来进行安装,不过我也不知为何,安装到最后,出现了dpkg的报错并返回,错误提示是让 ...