javascript - 为什么 Node 请求的正文总是字符串?

标签 javascript node.js node-request

我正在尝试使用 npm 包在 Node 中执行 API GET 调用。但是,由于某些原因,无论如何,请求的正文始终是字符串(而不是对象或数组)。任何人都知道为什么会出现这种情况,我能做些什么来阻止它这样做?

示例(此 API 应该返回一个数组,但主体是一个字符串): body: '[“我称这个草皮为'n'草皮。它是一个 16 盎司的 T 骨和一个 24 盎司的上等腰肉牛排。还有威士忌和雪茄。我将同时消耗所有这些,因为我我是一个自由的美国人。”]'

最佳答案

通常,当您向服务器发送数据或从服务器发送数据时,数据会作为“序列化”字符串发送。该字符串通常采用 XML 或 JSON 格式。由于看起来您正在使用 JSON 字符串,因此您应该能够使用 var obj = JSON.parse(str) 来解析字符串。

看看this post 。我认为这与您正在做的事情类似(使用 Node 的 Ajax 请求)。查看给出的答案显示主体是使用 JSON.parse() 函数进行解析的,以从字符串中检索原始对象。

另请查看how HTTP works - 超文本传输​​协议(protocol)。这是通过互联网发送和接收数据的方法。数据以可读的字符串格式发送。

关于javascript - 为什么 Node 请求的正文总是字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42875597/

相关文章:

javascript - Ember - 如何使父组件触发其子组件的行为

node.js - 在 Cloud Functions 中使用流 API 时不断收到 "Function returned undefined, expected Promise or value"

javascript - 如何让 browserify 的 "bundle"函数发出结束事件?

node.js - 通过管道传输请求帖子不起作用

javascript - Node 表达/请求 : piping a POST request with body parsing

node.js - 如何从 node.js 中的请求模块获取 cookie?

javascript - 为什么在 FabricJS 中没有任何缩进的靠近放置的对象彼此之间有一个空格

javascript - 如何让 jQuery 加载在其他加载完成时开始?

javascript - 如何从标准 JS 访问 Vue 组件?

javascript - 如何通过在Javascript对象中创建新属性来为不存在的属性设置值?