Node.js-用于解析的中的json数据时,我们可以使用javascript引擎的JSON.parse()函数。
使用JSON数据的信息很少
键:值对是基础。
{} 包含一个元素。
[]包含一个元素数组。
一个元素可以有多个key :value对。
值可以是简单的值,例如数字或字符串等,也可以是元素或数组。
数组中的元素可以使用索引访问
多个键:值对或元素用逗号分隔
以下示例可帮助您使用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
我们将读取一个包含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数据。