我应该如何使用Node.js解析JSON ?是否有一些模块可以安全地验证和解析JSON ?


当前回答

NodeJs是一个基于JavaScript的服务器,所以你可以用纯JavaScript的方式来做…

想象一下你在NodeJs中有这个Json…

var details = '{ "name": "Alireza Dezfoolian", "netWorth": "$0" }';
var obj = JSON.parse(details);

你可以通过上面的操作来获得json的解析版本…

其他回答

由于您不知道您的字符串实际上是有效的,因此我将首先将它放入try catch中。另外,由于try catch块不是按节点优化的,我将把整个事情放在另一个函数中:

function tryParseJson(str) {
    try {
        return JSON.parse(str);
    } catch (ex) {
        return null;
    }
}

“异步风格”的OR

function tryParseJson(str, callback) {
    process.nextTick(function () {
      try {
          callback(null, JSON.parse(str));
      } catch (ex) {
          callback(ex)
      }
    })
}

您可以使用JSON.parse()(这是一个内置函数,可能会强制您使用try-catch语句包装它)。

或者使用一些JSON解析npm库,比如JSON -parse- Or

为了安全起见,用这个吧

var data = JSON.parse(Buffer.concat(arr).toString());

包括node-fs库。

var fs = require("fs");
var file = JSON.parse(fs.readFileSync("./PATH/data.json", "utf8"));

有关'fs'库的更多信息,请参阅http://nodejs.org/api/fs.html的文档

JSON的另一个例子。解析:

var fs = require('fs');
var file = __dirname + '/config.json';

fs.readFile(file, 'utf8', function (err, data) {
  if (err) {
    console.log('Error: ' + err);
    return;
  }

  data = JSON.parse(data);

  console.dir(data);
});