首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将“`Request`”标头转换为普通键值对象

将“`Request`”标头转换为普通键值对象
EN

Stack Overflow用户
提问于 2022-05-28 04:22:36
回答 2查看 745关注 0票数 2

我正在尝试将请求(请参阅https://developer.mozilla.org/en-US/docs/Web/API/Request/headers)对象中的标题列表转换为一个普通的键/值对象。

代码语言:javascript
运行
AI代码解释
复制
// Create a Request object.
const req = new Request('https://example.com', {
    headers: {
        'X-Test-header': 'Test'
    }
});

遗憾的是,以下内容无法工作,因为headers属性是一个iterator

无法使用的结果:

代码语言:javascript
运行
AI代码解释
复制
const result1 = JSON.stringify(req.headers);
// result1 =  `{}`

可用的结果,但非常冗长的创建:

代码语言:javascript
运行
AI代码解释
复制
const headers = {};
for(const [key, value] of req.headers.entries()) {
    headers[key] = value;
}
const result2 = JSON.stringify(headers)
// result2 = `{'X-Test-Header': 'Test'}`

我正在寻找某种单线(可能包括Array.from()some of the other methods on the Request.headers object,如.keys()/.values() ),这样我就可以对结果进行压缩。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-28 04:30:08

您可以使用Object.fromEntries()方法,然后按照下面的方式对该对象进行字符串化。.fromEntries()方法将调用header对象的迭代器(即:.entries())来获取标头对象的条目,然后使用它创建一个对象。然后,您可以将它传递给JSON.stringify()以获得JSON字符串:

代码语言:javascript
运行
AI代码解释
复制
const req = new Request('https://example.com', {
    headers: {
        'X-Test-header': 'Test'
    }
});

const result1 = JSON.stringify(Object.fromEntries(req.headers));
console.log(result1);

票数 3
EN

Stack Overflow用户

发布于 2022-05-28 04:29:36

如果您只想将头作为常规对象获取,则可以使用Array.from()生成具有键值对的2d数组,并使用Object.fromEntries()从2d数组中创建一个对象。

代码语言:javascript
运行
AI代码解释
复制
const req = new Request('https://example.com', {
    headers: {
      'X-Test-header': 'Test',
      'accepts': 'application/json'
    }
});

const headers = Object.fromEntries(Array.from(req.headers.entries()));


console.log(JSON.stringify(headers));

为什么要这么做?req.headers.entries()为您提供了一个Interator {},它是数组类型,但不是数组。因此,您无法在其上实现任何Array.prototype方法。但幸运的是,Array.from()接受任何数组类型并将其转换为数组。

因此,Array.from(req.headers.entries())生成一个2D数组,类似于-

代码语言:javascript
运行
AI代码解释
复制
[['X-Test-header', 'Test'], ['accepts', 'application/json']]

如果您看到了Object.fromEntries()结构,那么您会发现这个方法使用相同的2D类型数组来生成一个对象。

现在可以在headers对象上应用JSON.stringify()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72415668

复制
相关文章
【GANs】将普通图片转换为梵高大作
最近,多项研究采用了生成对抗网络(Generative Adversarial Networks, 简称GANs)这一技术来生成分辨率为1024x1024的高清图片。超级逼真的人脸、动物和其他算法生成的图像令人惊叹不已,要知道,这项技术出现也不过短短几年。从分辨率低,像素差的图片到如今栩栩如生的高清画质,在很短的时间内就实现了质的飞跃:这一领域进步多大,请看下图。
昱良
2019/09/17
2.3K0
【GANs】将普通图片转换为梵高大作
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.6K0
将JavaBean对象转换为Map集合
使用jackson-databind可以将JavaBean对象属性转换为Map集合。
编程随笔
2022/04/29
1.8K0
jackson将json转换为json对象
高久峰
2023/07/02
3940
java将字符串转换为json对象的方法_java jsonobject转string
在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,
全栈程序员站长
2022/11/08
21.4K0
如何将R语言普通矩阵转换为非负矩阵
# =============================================================== # =============================================================== setwd('C:\\Users\\czh\\Desktop') library(Matrix) rm(list=ls()) options(stringsAsFactors = F) library(ConsensusCluste
用户1359560
2020/06/19
1.3K0
如何将R语言普通矩阵转换为非负矩阵
用DBMS_REDEFINITION将普通表转换为分区表
这些方案的思路都是创建一个新的分区表,然后把旧表的数据转移到新表上面,接着转移相应的依赖关系,最后进行表的重命名,把新表和旧表rename。与前三种方案相比,DBMS_REDEFINITION几乎不影响旧表的正常使用,因此也逐渐成为目前普遍使用的转换分区表的方案。
星哥玩云
2022/08/18
4830
request对象[通俗易懂]
request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的HTTP请求中的各项参数。
全栈程序员站长
2022/09/06
9250
Java通过Jackson将任意对象转换为HashMap
最近和西瓜支付对接项目,由于西瓜支付SDK中需要对请求参数生成签名,但是SDK依赖Fastjson,我们的项目中禁止使用Fastjson,于是进行替换下,以下是原始的代码,通过FastJson将请求参数转换为Json再转换为HashMap:
高久峰
2023/09/04
1K0
【已解决】将LinkedHashMap转换为需要的对象
通过这样转换之后,list类型转换为我需要的数据类型,然后可以进行接下来的工作,方法在Jackson的ObjectMapper包中。
凯哥Java
2022/12/16
4.2K0
【已解决】将LinkedHashMap转换为需要的对象
request对象(请求对象)
一、作用 获取请求报文中传递的数据 二、概述 浏览器发送到服务器的所有报文被flask接收后,创建出request对象,request被用在视图函数中,获取请求的数据 request对象由flask框架创建好,通过引入后就可以在视图中使用 导入 from flask import request 三、request属性 url 完整的请求URL base_url 去掉GET参数的URL url_root 去掉了?后面的参数 host_url 只有主机IP和端
星哥玩云
2022/09/14
1.1K0
使用导出导入(datapump)方式将普通表切换为分区表
      随着数据库数据量的不断增长,有些表需要由普通的堆表转换为分区表的模式。有几种不同的方法来对此进行操作,诸如导出表数据,然后创建分区表再导入数据到分区表;使用EXCHANGE PARTITION方式来转换为分区表以及使用DBMS_REDEFINITION来在线重定义分区表。本文描述的是使用导出导入方式来实现,下面是具体的操作示例。
Leshami
2018/08/13
9470
java map 转string_java-将Map <String,Object>转换为Map <String,String>
Map map = new HashMap(); //Object is containing String
全栈程序员站长
2022/08/25
12.4K0
使用 Jackson – 将字符串转换为 JsonNode 对象
本快速指南的主要目的是如何使用 Jackson 2 来将一个字符串转换为 JsonNode 对象。
HoneyMoose
2021/09/08
9.9K0
使用 Jackson – 将字符串转换为 JsonNode 对象
获取View的截图-将View转换为Bitmap对象
本文讲述如何通过将View转换为Bitmap对象来获取View的截图,可以用于动画流程的目的。通过调用`ViewToBitmapUtil.convertViewToBitmap()`方法,可以将View转换为Bitmap对象。该方法有两种形式,一种是传入完整的View,一种是传入View的绘制区域,可以用于截取View的一部分。
用户1155943
2018/01/04
1.8K0
request;response 对象
response 1. response简介 response的类型为HttpServletResponse,它是Servlet的service()方法的参数。 当客户端发出请求时,tomcat会创建
Java帮帮
2018/03/19
1.8K0
request;response 对象
通过 HTTP 标头的 XSS
在某些情况下,在应用程序的一个 HTTP 标头中传递的信息未正确清理,并在请求页面的某处或另一端输出,从而导致 XSS 情况。
Khan安全团队
2022/03/09
2.1K0
通过主机标头的 XSS
在 IE 中处理重定向时有一个有趣的错误,它可以将任意字符插入到 Host 标头中。假设您有以下 http 响应:
Khan安全团队
2022/01/11
1.6K0
设置和获取HTTP标头
%Net.HttpRequest的以下每个属性都包含具有相应名称的HTTP标头的值。如果不设置这些属性,则会自动计算它们:
用户7741497
2022/06/09
2.5K0
request对象、response对象、session对象
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133040.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/27
9440

相似问题

将java对象转换为soap标头

189

request.Session()标头和get/post标头

12

转储http标头

14

将&#39转换为普通字符

20

替换为标头和标头

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文