HttpServletRequest 请求参数转换为 Json_清萝卜头的博客-程序员秘密_request.getparametermap() 转json

技术标签: Java  java  Request  

将HttpServletRequest 请求参数转为json可以有两种方式:request.getParameterMap()和request.getQueryString()

1. request.getParameterMap()

Map<String, String[]> parameterMap = request.getParameterMap();
String jsonStr = JSONObject.toJSONString(parameterMap);
JSONObject obj = JSONObject.parseObject(jsonStr);
System.out.println(obj.toJSONString());

输出结果为:{"id":["1"]},值是一个数组。

2. request.getQueryString()

String[] parts = request.getQueryString().split("&");
JSONObject json = new JSONObject();

for (String part : parts) {
    String[] keyVal = part.split("=");
    json.put(keyVal[0], keyVal[1]);
}
System.out.println(json.toJSONString());

输出结果为:{"id":"1"},是将参数字符串进行解析得到的结果。

也可以才有第一种方式获取参数,然后修改value的格式

Map<String, String> map = new HashMap<>();

parameterMap.forEach((key, value) -> {
    map.put(key, String.join(" ", value));
});
JSONObject json = new JSONObject();
json.putAll(map);

System.out.println(json.toJSONString());

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaoQL520/article/details/107532838

智能推荐

Python获取文件大小_郭春彪-0416的博客-程序员秘密

python获取文件大小# !/usr/bin/python3.4# -*- coding: utf-8 -*-import os# 字节bytes转化kb\m\gdef formatSize(bytes): try: bytes = float(bytes) kb = bytes / 1024 except: p...

电路的耦合方式_diyou4599的博客-程序员秘密

基本概念:  一级:组成多级放大电路的每一个基本放大电路称为一级。  级间耦合:级与级之间的连接称为级间耦合。  耦合电路往往与放大电路融为一体,不单独存在的。  多级放大电路的耦合方式:直接耦合、阻容耦合、变压器耦合和光电耦合。直接耦合  直接耦合:将前一级的输出端直接连接到后一级的输入端。  如下图所示:    电路缺点:采用直接耦...

android-fragment和viewpager的使用_雪酒呀的博客-程序员秘密

fragment加viewpager使用,并上radiogroup一起使用将页面与按钮绑定一、xml布局一个viewpager和一组radiogroup二、FragmentPagerAdapter适配器继承自fragmentpageradapter实现两个基本方法和构造方法构造方法默认一个参数fragmentmanager,因为我们要和fragment结合使用,便自加一个fragment集合import androidx.annotation.NonNull;import androi

linux去掉vncserver登录密码,linux下更改vncserver的密码_沐辉东方的博客-程序员秘密

Linux下的压缩和解压缩命令——compress&amp;sol;uncompresscompress命令 compress命令使用"Lempress-Ziv"编码压缩数据文件.compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出".Z ...iOS 10 的坑:新机首次安装 app,请求网络权限&amp;OpenCurlyDoubleQuote;是否允许使用数据”&amp;...

移动端安全 | Windows11安卓子系统进行APP抓包(踩坑文)_安卓子系统抓包_灼剑(Tsojan)安全团队的博客-程序员秘密

作者: 1e0n免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。0x00 前言当前市面上出现很多款安卓模拟器都可以用于抓包,为什么要选择用才发布没多久的安卓子系统。一切都源于一次模拟器的异常抓包(多次发包无响应,当时误以为是遇到了模拟器检测)。下面是简要的流程说明。一次项目中需要对某APP进行抓包测试(只需要抓取到对应的URL或者IP地址即可),因为本机环境只能使用逍遥模拟器,遂采用了逍遥模拟器来进行抓包,但是抓包过程中发包后流量丢失。刚好windows11安卓子系统正.

vue使用van-popup和van-action-sheet_van-action-sheet 参数_IXJMI的博客-程序员秘密

vant的滑块的使用加一个充值滑块&lt;van-popup v-model="show" bind:close="onClose" position="bottom" custom-style="height: 20%;" class="rechange"&gt; &lt;p&gt;充值金额&lt;/p&gt; &lt;div&gt; ... &lt;/div&gt;...

随便推点

Echarts 雷达图_echarts 雷达图 百分比_听風吟的博客-程序员秘密

html&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&gt;&lt;/head&gt;&lt;body&gt; &lt;div&gt; &lt;div class="col-md-12" id="radarCharts" style="width: 100%;height.

〖TensorFlow2.0笔记1〗TensorFlow2.x介绍和详细安装指南(Win&Linux)_布衣小张的博客-程序员秘密

Tensorflow Dev Summit 正式宣布 Tensorflow 2.0 进入 Alpha 阶段。1、首先基于自己安装的Anaconda 创建环境一个尝鲜环境:conda create -n tf2.0 python=3.62、然后进入刚刚创建好的环境:conda activate tf2.03、执行下面的安装命令:pip install tensorflow...

RHEL7挂载ISO做本地yum_mvpbang的博客-程序员秘密

测试环境,网络yum源没有本地yum源下载速度快!Yum比起RPM装包的好处就是可以自己处理依赖关系,也就是自己安装相关的依赖包,用起来也是很方便,但是删包的时候也会删除依赖包,这里要非常小心01、把RHEL7ISO传到Linux中 ,利用HFS软件在Linux,前提是要能Ping通wget   http://192.168.73.1/rhel-server-7.0-x86_64-

消息中间件kafka的php-rdkafka扩展使用教程_rdkafka php文档_inrgihc的博客-程序员秘密

一、PHP-rdkafka扩展简介PHP-rdkafka是一个轻量的librdkafka封装,通过librdkafka提供c的扩展支持PHP对kafka进行开发,提供了一个 PHP 5 / PHP 7 Kafka客户端,它支持高级和低级消费者、生产者,以及元数据API。librdkafa项目:https://github.com/edenhill/librdkafkaphp-rdkafka项目:https://github.com/arnaud-lb/php-rdkafka二、php-rdk

几个程序员的禅师笑话_passer199101的博客-程序员秘密

http://bbs.jointforce.com/forum.php?mod=viewthread&tid=16475&extra=page%3D1