Tag: json

Heroku不读取节点版本

我有一个Node项目,我想在Heroku上托pipe。 我已经在我的package.json(位于根目录)中显式地定义了node和npm版本,如下所示: { "name": "*********", "version": "0.0.0", "private": true, "engines": { "node": "0.12.x", "npm": "2.5.x" }, "scripts": { "start": "node ./bin/www" }, "dependencies": { "body-parser": "^1.13.3", … } 但是,当我尝试推送应用程序到heroku git push heroku master Heroku试图构build应用程序,但似乎不能reed节点和npm版本。 这是我得到的回应。 remote: —–> Installing binaries remote: engines.node (package.json): unspecified remote: engines.npm (package.json): unspecified (use default) remote: remote: Resolving node version (latest […]

如何从目录中读取文件并将其作为JSON发送给客户端?

我有服务器目录中的日志文件我想显示文件名到客户端,所以我已经创buildreadDirectory.js正在读取名称现在我是非常新的node.js ,我想发送json数据到客户端,但它不发生,我怎样才能发送日志文件名称客户端使用快递? readDirectory.js var fs = require('fs'); var path = './Logs' var Logs = []; function readDirectory(){ fs.readdir(path, function(err, items) { Logs.push(items); /* console.log(items); for (var i=0; i<items.length; i++) { console.log(items[i]); }*/ }); return Logs; } exports.readDirectory = readDirectory; app.js var express = require('express'); var app = express(); var readDirectory = require('./readDirectory'); app.use(express.static(__dirname + "/public")); […]

将JSON对象数组转换为关联数组

假设我有2个JSON对象数组,如下所示: 资源: [{ "DefinitionId": 193041, "ResourceId": -2147290607, "AssetId": 193041 }, { "DefinitionId": 193042, "ResourceId": -2147290603, "AssetId": 193042 }] ResourceIds [193041, 193041, 193041, 193042] 用例: 我需要从资源JSONObject中为每个ResourceId列出详细信息。 例如,我想为ResourceId中的每个ResourceId输出AssetId 。 我的计划: 我认为这将是一个优雅的解决scheme,将我的Resources JSON转换为关联数组,以便我可以像这样访问我的ResourceId '的AssetId: Resources[193041].AssetId 。 问题:我只能考虑长的代码将我的上述Resources JSON转换为关联的JSON对象。 问题是: 如何将上面的资源JSON对象数组转换为ResourceId作为关键字的关联对象数组? 期望的Resources.json: { "-2147290607": { "DefinitionId": 193041, "ResourceId": -2147290607, "AssetId": 193041 }, "-2147290603": { "DefinitionId": 193042, "ResourceId": -2147290603, "AssetId": […]

传递xhr onload函数的全局值

在我创build的应用程序中我有下面的XMLHttpRequest,我试图将xhr.onload()的data结果传递到在同一个父函数内创build的数组中。 var url = 'http://api.soundcloud.com/resolve.json?'+resource+'&'+CLIENT_ID; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onload = function(){ var data = JSON.parse(xhr.responseText); console.log(data.permalink_url); }; xhr.send(); 在这个下面我有一个数组的构build块,我试图将数据的结果传递到轨道string。 var metadata = { id: val, title: title, url: posturl, track: data.permalink_url }; 到目前为止,我所尝试过的一切都会返回undefined或者function ,现在我完全没有想法了。

angular度路由错误path.json的参数必须是string

我很难弄清楚这个错误的含义。 我有以下bower.json : … "dependencies":{ "angular-route":"~1.2.18", "angular":"~1.2.18" } 通过bower install安装我的凉亭包bower install我得到以下错误: bower angular-route#~1.2.20 error Arguments to path.join must be strings Stack trace: TypeError: Arguments to path.join must be strings at path.js:360:15 at Array.filter (native) at Object.exports.join (path.js:358:36) at GitHubResolver._checkout (/home/ubuntu/.nvm/v0.10.26/lib/node_modules/bower/lib/core/resolvers/GitHubResolver.js:54:21) at /home/ubuntu/.nvm/v0.10.26/lib/node_modules/bower/lib/core/resolvers/GitResolver.js:69:21 at _fulfilled (/home/ubuntu/.nvm/v0.10.26/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/q.js:798:54) at self.promiseDispatch.done (/home/ubuntu/.nvm/v0.10.26/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/q.js:827:30) at Promise.promise.promiseDispatch (/home/ubuntu/.nvm/v0.10.26/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/q.js:760:13) at /home/ubuntu/.nvm/v0.10.26/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/q.js:574:44 at flush […]

节点包 – 是否有可能在package.json中插入一个variables?

我有一个使用node-sass编译Sass的静态网站。 目前我正在使用Grunt来观看文件,但是我觉得这是过度的,因为我可以使用他们的内置CLI。 所以我把这个添加到我的package.json中: // package.json … "scripts": { "sass": "node-sass -w input/dir -o output-dir/" } 问题是,我需要在–include-path require一个Sass框架模块(全局安装)。 我可以在Gruntfile中做到这一点: // Gruntfile.js sass: { options: { includePaths: require("the-framework").includePaths() }, … }, 所以我想到的第一件事是插入string,如: // package.json … "scripts": { "sass": "node-sass -w input/dir -o output-dir/ –include-path " + require("the-framework").includePaths() } 和预期的一样,这是行不通的。 那么脚本运行,但插值的variables被忽略。 任何解决scheme或替代? 如果可能的话,我宁愿不创build额外的文件来存储variables。 谢谢

在使用JSON.stringify的Node.js中导致“进程内存不足”错误

使用节点我试图从LDAP服务器收集用户数据,然后将这些数据写入JSON文件。 我正在使用下面的代码来执行此操作: fs.writeFile('data.json', JSON.stringify(data, null, 4)); 问题是JSON.stringify方法导致以下错误: FATAL ERROR: JS Allocation failed – process out of memory 我知道问题是与JSON.stringify因为如果我使用console.log而不是fs.writeFile我得到相同的错误。 我正在尝试编写大量数据(在LDAP数据库中有超过500个条目)。 有谁知道我怎么能得到这个工作? 这是完整的代码: var ldap = require('ldapjs'); var util = require('util'); var fs = require('fs'); var client = ldap.createClient({ url: '************' }); client.bind('CN=**********,OU=Users,OU=LBi UK,OU=UK,DC=********,DC=local', '*********', function(err) { if (err) { console.log(err.name); } }); // taken from http://ldapjs.org/client.html […]

JSONdate格式(无时间)从API返回

想知道是否应该删除通常存储的时间数据。 我们正在使用postgres和node.js ,其中DateTime将从我们的API返回,如下所示: 2013-07-01T00:00:00.000Z 然而,既然这个领域只应该代表一个约会,我觉得重新格式化之前这样会更清楚地表明时间是不相关的: 2013-07-01 思考?

NodeJS返回垃圾JSON

我正在尝试使用NodeJS编写一段简单的代码来从堆栈交换API中获取JSON。 这是我所瞄准的API – https://api.stackexchange.com/2.2/users?order=desc&sort=reputation&inname=donal%20rafferty&site=Tackoverflow 这是我的代码: var https = require('https'); //Use NodeJS https module function getUserDataByName(userName, callback){ var stackOverflowUserURL = 'https://api.stackexchange.com/2.2/users?order=desc&sort=reputation&inname='+encodeURIComponent(userName)+'&site=stackoverflow'; https.get(stackOverflowUserURL, function(response){ console.log("headers: ", response.headers); if (response.statusCode == 200) { var jsonString = ''; response.on('data', function (chunk) { jsonString += chunk; }); response.on('end', function () { console.log((jsonString)); callback(JSON.stringify(jsonString)); }); } else{ //error console.log("Error"); } }); […]

JavaScript中的对象如何存储在内存中?

在JSON的官方文档 一个对象是一组无名的名称/值对。 一个对象以{(左大括号)开始并以}(右大括号)结束。 每个名称后跟:(冒号),名称/值对由(逗号)分隔。 注意我是Javascript新手,并从名称JSON(Javascript对象表示法)本身,我假设在Javascript中的对象是相同的JSON。 如果我弄错了,请纠正我的错误。 从上面的定义看来,Javascript对象最有可能是由hashmap或BST或一些类似的数据结构来实现的。 但是,当我在Node shell中插入键值对时,它们以串行方式插入。 这是我在节点shell中尝试的 > var a = {} undefined > a['k1'] = 'a1' 'a1' > a['k3'] = 'a3' 'a3' > a['k2'] = 'a2' 'a2' > a['k4'] = 'a4' 'a4' > a['k5'] = 'a5' 'a5' > a { k1: 'a1', k3: 'a3', k2: 'a2', k4: 'a4', k5: 'a5' } […]