编辑这个页面须要登录或更高权限!

Node.js 解析JSON

Node.js-用于解析的中的json数据时,我们可以使用javascript引擎的JSON.parse()函数。

使用JSON数据的信息很少

  • 值对是基础。

  • {} 包含一个元素。

  • []包含一个元素数组。

  • 一个元素可以有多个key value对。

  • 值可以是简单的值,例如数字或字符串等,也可以是元素或数组。

  • 数组中的元素可以使用索引访问

  • 多个值对或元素用逗号分隔

一个简单的示例Node.js JSON解析程序

以下示例可帮助您使用JSON.parse()函数并从JSON对象访问元素。

// json数据
var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; 
 
// 解析json
var jsonParsed = JSON.parse(jsonData); 
 
// 访问元素
console.log(jsonParsed.persons[0].name);

运行nodejs-parse-json.js的终端输出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-parse-json.js 
John

示例– Node.js解析JSON文件

我们将读取一个包含JSON数据的File到一个变量,然后解析该数据。

考虑以下JSON文件sample.json

 { 
    "persons": [{ 
            "name": "John", 
            "city": "Kochi", 
            "phone": { 
                "office": "040-528-1258", 
                "home": "9952685471"
            } 
 
        }, 
        { 
            "name": "Phil", 
            "city": "Varkazha", 
            "phone": { 
                "office": "040-528-8569", 
                "home": "7955555472"
            } 
        } 
    ] 
 }

Node.js JSON文件解析程序

// 引入文件系统模块
var fs = require('fs'); 
 
// 读取文件sample.json文件
fs.readFile('sample.json', 
    // 读取文件完成时调用的回调函数
    function(err, data) {  
        // json数据
        var jsonData = data; 
 
        // 解析json
        var jsonParsed = JSON.parse(jsonData); 
 
        // 访问元素
        console.log(jsonParsed.persons[0].name + "'s office phone number is " + jsonParsed.persons[0].phone.office); 
        console.log(jsonParsed.persons[1].name + " is from " + jsonParsed.persons[0].city); 
 });

运行上面的Node.js程序。

运行nodejs-parse-json-file.js的终端输出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-parse-json-file.js 
John's office phone number is 040-528-1258
Phil is from Kochi

总结:

在这个Node.js教程- Node.js JSON文件解析-我们已经学会了使用JSON.parse()函数,在示例Node.js程序的帮助下从一个变量或文件解析JSON数据。