Articles of json

testingAPI如何使用node.js处理无效的JSON语法请求主体

我想testing一个REST API如何处理一个具有无效JSON语法的主体的POST请求,例如一个缺less的逗号。 我正在使用node.js来编写APItesting。 我正在使用弗里斯比,但我也尝试超级 。 没有运气。 使用以前的工具,您将请求主体作为JavaScript对象传递,所以不行。 我也试图通过无效的JSON作为一个string没有任何运气,因为一个string也是有效的JSON(下面的例子)。 有任何想法吗? frisby.create('Ensure response has right status') .post('http://example.com/api/books', '{"invalid"}', {json: true}) .expectStatus(400) .toss();

NPM警告“没有存储库字段”,但我没有一个存储库

我在家中使用node.js而没有存储库,只是在四处乱逛。 但是当我运行npm install时 ,我得到了No Repository Field警告,正如在其他问题线程中讨论的那样。 npmjs.org用两个例子描述了这个新的package.json字段 ,假设我的仓库在git或svn中,但是我的仓库既不在。 我还没有使用存储库。 我可以使用什么值? 我尝试了空string,空值,甚至让Repository对象为空。

parsing错误的JSON并能够显示错误的位置

这不是关于如何pipe理或纠正有问题的JSON,而是关于如何向用户解释错误在哪里出错的JSON。 有没有办法找出parsing器失败的JSON中的哪个位置。 我想在node.js应用程序中解决这个问题,所以如果可能的话请保留你的答案。 当我使用内置的JSON对象和错误的JSON的parsing方法时,我只能得到exception消息SyntaxError: Unexpected string 。 我想找出发生错误的地方。 首选的是返回结果ok / error和错误位置的JSON.validate(json) 。 像这样的东西: var faultyJsonToParse = '{"string":"value", "boolean": true"}'; var result = JSON.validate(faultyJsonToParse); if (result.ok == true) { console.log('Good JSON, well done!'); } else { console.log('The validator found a \'' + result.error + '\' of type \'' + result.errorType + '\' in your JSON near […]

错误:与multer和body-parser无效的json

我目前在node.js应用程序中使用multer来处理multipart/form-data和body-parser 。 我试图使用POSTMAN POST表单数据,但它得到这个错误。 Error: invalid json at parse (/Users/k/Documents/application/node_modules/body-parser/lib/types/json.js:79:15) at /Users/k/Documents/application/node_modules/body-parser/lib/read.js:102:18 at IncomingMessage.onEnd (/Users/k/Documents/application/node_modules/body-parser/node_modules/raw-body/index.js:136:7) at IncomingMessage.g (events.js:199:16) at IncomingMessage.emit (events.js:104:17) at _stream_readable.js:908:16 at process._tickDomainCallback (node.js:381:11) 这就是我在server.js中添加multer和body-parser的方式 var express = require('express'); var mongoose = require('mongoose'); var bodyParser = require('body-parser'); var multer = require('multer'); var app = express(); app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); app.use(multer({ dest: './uploads/'})); 我想这可能是因为耳垂不工作。 当我删除body-parser并再次尝试时,它显示console.log(req.body)和console.log(req.files)空json。 […]

消毒JSON是必要的吗?

我认为这是networking上一个众所周知的最佳做法,不相信任何input。 这句话 “所有的投入都是邪恶的。” 可能是inputvalidation方面引用最多的引用。 现在,对于HTML,您可以使用诸如DOMPurify之类的工具对其进行消毒。 我的问题是,如果我有一个运行Express和body-parser中间件的Node.js服务器来接收和parsingJSON,我是否还需要运行任何清理? 我的(也许天真?)的想法是,JSON只是数据,没有代码,如果有人发送无效的JSON,body-parser(内部使用JSON.parse() )将失败,所以我知道我的应用程序将接收一个有效的JavaScript对象。 只要我不运行eval或调用函数,我应该没事,不是吗? 我错过了什么吗?

django tastypie和跨域json

在localhost:8000上运行了django dev服务器,在localhost:3000上运行了nodejs服务器。 我想要将json导入到nodejs服务器,但我得到这个错误: XMLHttpRequest无法加载http://127.0.0.1:8000/api/presentation/?format=json 。 Access-Control-Allow-Origin不允许源http:// localhost:3000 这是我第一次进入跨域的乐趣,所以我想方设法摆脱我的深度。 我已经添加到我的节点(expressjs)的路线。 app.all('/', function(req, res){ res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.render('index', { title: '…' }); }); 我错过了什么/错在哪里?

npm后安装types无法正常工作

我有以下packages.json: { "name": "shopping-assistant-angular", "version": "1.0.0", "scripts": { "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ", "tsc": "tsc", "tsc:w": "tsc -w", "lite": "lite-server", "typings": "typings", "postinstall": "typings install" }, "license": "ISC", "dependencies": { "angular2": "2.0.0-beta.7", "systemjs": "0.19.23", "es6-promise": "^3.0.2", "es6-shim": "^0.33.3", "reflect-metadata": "0.1.2", "rxjs": "5.0.0-beta.2", "zone.js": "0.5.14" }, "devDependencies": { "bower": "^1.7.7", "concurrently": "^1.0.0", […]

如何不敏感地searchJSON文件的关键情况

我有一个像下面的JSON对象, "Data Center": { "TMSLevel2": { "Comp-NX2/4/5/6K": "NX2/4/5/6K", "Comp-NX3K": "NX3K", "Comp-NX7K": "NX7K", "Comp-NX9K": "NX9K", "Comp-ACI": "ACI" } } 我将该文件命名为map.js ,并通过Node JS的var map = require ('./map.js')将其导入。 我正在访问它像console.log(map["Data center"]["TMSLevel2"][name]) 。 现在名称是"Comp-NX3K"或"Comp-NX3k"或"Comp-nx3K" 。 当它是"Comp-NX3K"它打印相应的值。 但是,如果是"Comp-nx3K"则打印"undefined"因为没有匹配的值。 如何解决?

我怎样才能通过一个JSON对象的数组循环?

我有JSON数据,我需要循环。 数据在标题为“people.json”的文件中,结构如下: [{"firstname":"John","lastname":"Smith","age":"40"},{"firstname":"Bill","lastname":"Jones","age":"40"}, …] 我想读取这个文件中的每个对象并保存(我使用mongoose)。 这是我到目前为止: var fs = require('fs'); var Person = require('../models/people'); fs.readFile('./people.json', 'utf8', function (err,data) { var i; for(i = 0; i < data.length; i++) { var newPerson = new Person(); newPerson.firstname = data[i].firstname; newPerson.lastname = data[i].lastname; newPerson.age = data[i].age; newPerson.save(function (err) {}); } }); 我无法得到这个工作,虽然。 我究竟做错了什么?

在这个package.json文件中需要改变什么来使用npm 0.3.0?

试图使用一个库,但得到这个错误… npm ERR! JSON.parse Failed to parse package.json data. npm ERR! JSON.parse Note that package.json must be actual JSON, not npm ERR! JSON.parse just a JavaScript object. npm ERR! JSON.parse npm ERR! JSON.parse This changed in npm 0.3.0, and is not a bug in npm. npm ERR! JSON.parse Tell the package author to fix their […]