我正在尝试使用 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/