NodeJS:从 Web 请求中读取 JSON 数组
NodeJS: Reading JSON array from a web request
这可能是
一个n00b问题,但我正在尝试理解提供给我的nodeJS代码,该代码据说可以在生产中工作。这是一个我想使用的API,但由于无法理解请求中出现的JSON字符串而卡住。
var server = {};
server.create = function _create(req) {
//req= JSON.parse(req);
req.forEach(function (origReq) {
console.log(origReq);
});
}
var req = "[{'"id'":'"1'"},{'"id'":'"2'"}]";
server.create(req);
运行这个,我收到此错误,因为"req"未标识为 JS 对象/数组,并且 .forEach 在字符串上不可用,它是:
**
类型错误:未定义不是函数
**
可以理解的是,如果"注释"代码行未注释,则字符串将被解析为正确的JS数组并且它工作正常。
由于请求具有正确的内容类型"application/json",默认情况下它是否不被理解/解析?没有 parse 语句的代码如何可能工作(parse 语句是由我引入的,不存在于工作 API 的原始代码部分中)。可能节点模块(通常称为服务器模块)应该从传入的标头信息中处理这个问题?
如果我错过了一些基本的东西,我深表歉意,并感谢您的所有投入。
内容类型
"application/json"
不会作为JavaScript对象进行检索。您正在检索纯文本(字符串)。就像"text/HTML"
或"text/plain"
内容类型一样。
调用JSON.parse(req)
是关键,因为它会将此字符串解析为 JavaScript 对象。
编辑:
一些框架(如 Angular.js)会读取响应的内容类型,并将响应解析为 JavaScript 对象。但是,"请求"节点模块(您可能正在使用)不会为您解析响应。你必须自己做。
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 正在读取JSON,数据未显示
- 使用jquery读取Json数据
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- 使用Angular读取JSON
- 修改d3.js圆环图以读取json数组
- 读取 json 文件 Javascriot 后返回一个数组
- 使用Javascript和PHP读取JSon字符串
- 无法通过rest api读取json变量
- 从d3.js中的文件读取json数据不起作用
- Uncaught SyntaxError:尝试读取json数据时出现意外数字
- 以javascript中的字符串形式从服务器读取json文件
- 使用angularjs中的JSONObject读取json
- 单击按钮时使用JS读取JSON文件
- 如果没有JavaScript中的jQuery,我如何读取.json文件
- javascript在读取JSON文件后无法迭代数组
- 使用 Javascript 读取 JSON 对象(错误)
- JQuery 如何读取 JSON 缓存
- 从 PHP 读取 json 响应并推送到 javascript 多维数组中
- 当我不知道密钥的名称时,如何读取 JSON 对象