node.js怎样删除json数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js怎样删除json数据相关的知识,希望对你有一定的参考价值。

参考技术A node.js怎样删除json数据
// demo-json.js
var obj =
"name": "LiLi",
"age": 22,
"sex": "F"
;

var str = JSON.stringify(obj);
console.log(str);

var obj2 = JSON.parse(str);
console.log(obj2);

执行:node demo-json.js本回答被提问者采纳

Node.js、Express、jQuery.param() - 从 JSON 中删除引号

【中文标题】Node.js、Express、jQuery.param() - 从 JSON 中删除引号【英文标题】:Node.js, Express, jQuery.param() - Remove quotes from JSON 【发布时间】:2014-09-20 10:04:32 【问题描述】:

我正在使用 jQuery.param() 在客户端序列化一个 JSON 对象:

var test = "coordinates":[[-122.610168,37.598167],[-122.288818,37.598167],[-122.288818,37.845833],[-122.610168,37.845833],[-122.610168,37.598167]];

console.log($.param( test ));

发出 GET 请求后,在 Express 路由中的服务器端,我通过以下方式访问对象:

console.log('Server received: ' + JSON.stringify(req.query.coordinates));

这将输出以下内容 - 请注意每个坐标周围的引号:

Server received: [["-122.610168","37.598167"],["-122.288818","37.598167"],["-122.288818","37.845833"],["-122.610168","37.845833"],["-122.610168","37.598167"]]

如何删除引号?我可以解析为字符串并使用正则表达式,然后解析回 JSON,但这似乎效率低下。任何人都可以建议添加它们的过程的哪个部分以及如何删除它们?

【问题讨论】:

您可以像使用普通数组一样使用req.query.coordinates,在其上运行 for 并在其中的每个成员上运行 parseFloat。如果您不明白,我可以为您发布示例代码。 【参考方案1】:

像下面这样试试

var data = [["-122.610168","37.598167"],["-122.288818","37.598167"],["-122.288818","37.845833"],["-122.610168","37.845833"],["-122.610168","37.598167"]]

data.forEach(function(arr)
   arr[0] = +arr[0];
   arr[1] = +arr[1];
)

console.log(data)// prints[[-122.610168,37.598167],[-122.288818,37.598167],[-122.288818,37.845833],[-122.610168,37.845833],[-122.610168,37.598167]]

【讨论】:

【参考方案2】:

有些事情告诉我有一种方法可以使用 bind 在单个链式函数调用中执行此操作,但我能想到的最好方法是:

var coords = data.map(function(arr)return arr.map(parseFloat);)

这具有非破坏性的好处(原始data 变量保持不变)。

【讨论】:

以上是关于node.js怎样删除json数据的主要内容,如果未能解决你的问题,请参考以下文章

Node.js、Express、jQuery.param() - 从 JSON 中删除引号

使用 node.js 将 JSON 写入 mysql 数据库

Node.js RESTful API

Node.js:从 JSON 响应中提取数据

如何使用 node.js 将 EXCEL 文件数据读取到 json

从运行在 node.js 上的 json 获取数据