Articles of json

NodeJS&Gulp Streams&乙烯文件对象 – 用于NPM包装的Gulp Wrapper产生不正确的输出

目标 我目前正在尝试为NPM Flat编写一个Gulp包装,它可以很容易的用在Gulp任务中。 我觉得这对Node社区是有用的,也完成了我的目标。 存储库是在这里给大家查看,贡献,玩和拉请求。 我正在尝试使多个JSON文件变平(使用点符号)副本。 然后我想将它们复制到相同的文件夹,只需修改文件扩展名从* .json到* .flat.json。 我的问题 我回来在我的JSON文件中的结果看起来像乙烯基文件或字节码。 例如,我期望输出像"views.login.usernamepassword.login.text": "Login" ,但我得到的东西像{"0":123,"1":13,"2":10,"3":9,"4":34,"5":100,"6":105等等 我的方法 我是开发Gulp任务和节点模块的全新开发人员,所以绝对不要让自己的眼睛看起来根本不对。 版本库将是最新的代码,但我也会尽力使问题保持​​最新。 吞噬任务文件 var gulp = require('gulp'), plugins = require('gulp-load-plugins')({camelize: true}); var gulpFlat = require('gulp-flat'); var gulpRename = require('gulp-rename'); var flatten = require('flat'); gulp.task('language:file:flatten', function () { return gulp.src(gulp.files.lang_file_src) .pipe(gulpFlat()) .pipe(gulpRename( function (path){ path.extname = '.flat.json' })) .pipe(gulp.dest("App/Languages")); }); 节点模块的index.js(也就是我希望变成一口气) […]

XML到JSON – 处理JavaScript中的xml命名空间和别名

我正在尝试使用模块xml2js在node.js中将XML转换为JSON。 如何在访问variables时处理命名空间别名? 下面的代码将我的文件(sampleWithNamespaces.xml) var fs = require('fs'), xml2js = require('xml2js'); var parser = new xml2js.Parser(); fs.readFile('sampleWithNamespaces.xml', function (err, data) { parser.parseString(data, function (err, result) { console.dir(result); console.log('Done'); }); }); sampleWithNamespaces.xml: <d:student xmlns:d='http://www.develop.com/student'> <d:id>3235329</d:id> <d:name>Jeff Smith</d:name> <d:language>JavaScript</d:language> <d:rating>9.5</d:rating> </d:student> 输出: $ node xml2jsTest.js { '@': { 'xmlns:d': 'http://www.develop.com/student' }, 'd:id': '3235329', 'd:name': 'Jeff Smith', 'd:language': 'JavaScript', […]

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 思考?