Tag: stringify

将JSON查询stringparsing为JSON对象

API上的查询结构如下所示: ../myapi/products?_q=genre,retail_price&_a=g,p&p.gt=10&p.lt=20&g.eq=POP 有两个数组:_q列出查询参数,_a列出相应的别名。 所以p – > retail_price和g – >stream派 我可以parsing为: {$and : [ genre: { '$eq': 'POP' }, retail_price: { '$gt': '10' }, retail_price: { '$lt': '20' } ]} 快乐。 但是这个方法有两个问题:1. $ eq等等,而不是$ eq等等2.数值现在是一个string“10” 我认为(2)是一个讨厌的问题。 由于服务器不知道types(也许它应该是“10”而不是10)。 所以,我想尝试另一种方法。 这是parsing所有到一个queryString,然后转换与JSON.parse() 首先,我build立一些查询string,并在shell中尝试: db.products.find({$and: [{genre: { $eq: 'ROC'}}, {retail_price: {$gt:7}}, {retail_price: {$lt:10}}]}) 奇迹般有效。 然后我试了这个: var queryStr = "{$and: [{genre: […]

JSON stringify与NodeJS和EJS的问题

我正在这样做 var o = <%- JSON.stringify(object) %>; 在具有以下输出的代码中 var o = {"_id":"57bafa202acb57b8ab000013","status":"incomplete","title":"<script>alert(1);</script>","updated_at":"2016-08-22T18:42:00+05:30","id":"57bafa202acb57b8ab000013"}; 并出现以下错误。 Uncaught SyntaxError: Invalid or unexpected token 在对象中有一个“<script> alert(1); </ script>”的标题属性。 我如何处理这个?

在对象上调用JSON.stringify时,NPM'should'库会导致循环引用错误

现在我知道为什么我要避免像修改对象原型那样的库 它看起来像我得到这个错误: TypeError: Converting circular structure to JSON 当我require('should') 这是预期的吗? 在调用JSON.stringify之前,我可以从要被string化的对象中删除属性,如下所示: delete obj.should; delete obj.getShould; 但是这很难做到嵌套的对象等。我不得不说,这是非常跛脚,应该导致这一点,但也许我做错了什么。 如何解决这个问题? 我正在写一个库,用户可能require('should')所以我必须防止这种types的问题。

对象字面值中的圆括号

对象中的圆括号是否只是分组操作符? node-stringify会转换: [ { a: 1 } ] string: [({'a':1}),({'a':2})] 我能否认为这里的括号对数据没有影响,即使括号不存在也是完全一样的?

JSON.stringify在循环的JSON对象中不起作用。 该怎么办?

例如,在Node.js中,如果我这样做: JSON.stringify(req); 那么我会因循环结构而失败。 有没有什么设置或方法可以很容易地把它串起来,跳过结构的循环部分?

JSON.stringify(数组)用方括号包围

我试图得到一个数组的数据插入到sqlite数据库中的多个列,我已经得到它几乎与这个工作: function InsertData(dbData){ var valueArray = [], dataArray = []; var values = Object.keys(dbData); for(var key in values){ valueArray[valueArray.length] = values[key]; dataArray[dataArray.length] = dbData[values[key]]; } console.log("INSERT INTO "+dbData.table+" ("+valueArray+") VALUES ("+JSON.stringify(dataArray)+")"); dbData.database.serialize(function(){ dbData.database.run("INSERT INTO "+dbData.table+" ("+valueArray+") VALUES ("+JSON.stringify(dataArray)+")"); }); } 我的数据是这样构造的: //app.js function EventData(title, value, other){ this.title = title; this.value = value; this.other = other; […]

在JSON.stringify中使用一个variables

我在我的节点宁静服务器中使用stringify来提供数据: answer = JSON.stringify({activities: result}, null, '\t'); return answer 结果是一个js对象; 我收到这个正确的输出: { "activities": [ { "id": 1, "title": aaa }, { "id": 2, "title": bbb } ] } 但是现在我想在stringify函数的左边部分使用一个variables而不是一个固定的string; 就像是: var name = "activities"; answer = JSON.stringify({name: result}, null, '\t'); 这是行不通的,因为名称在string化对象中变成固定string

NodeJS JSON.stringify()瓶颈

我的服务返回非常大的JSON对象的响应 – 大约60MB。 经过一些分析,我发现它几乎所有的时间都在做JSON.stringify()调用,它被用来转换为string并将其作为响应发送。 我已经尝试了stringify的自定义实现,他们甚至更慢。 这对我的服务来说是一个瓶颈。 我希望能够处理尽可能多的请求,每秒尽可能 – 目前1请求需要700毫秒。 我的问题是: 1)我可以优化响应部分的发送吗? 有没有更有效的方法比串化对象和发送响应? 2)使用asynchronous模块并在一个单独的线程中执行JSON.stringify()提高整体的请求数/秒(假设在该调用中花费了90%以上的时间)?

JSON.stringify throws RangeError:巨大对象的string长度无效

正如标题暗示我想在我的Node.js应用程序中使用JSON.stringify对巨大的JavaScript对象进行string化。 对象又是巨大的(几十兆字节),它们不包含任何function。 我需要将序列化的对象写入文件。 我现在得到的是这样的: RangeError: Invalid string length at Object.stringify (native) at stringifyResult (/my/file.js:123:45) -> line where I use JSON.stringify 任何想法如何解决这个问题?