English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
При парсинге JSON-данных в Node.js мы можем использовать функцию JSON.parse() двигателя JavaScript.
Информация о JSON-данных часто отсутствует
Ключ:Пaires de valeurs sont de base.
{} содержит элемент.
[] содержит массив элементов.
Элемент может иметь несколькоkey :value пaires.
Значения могут быть простыми, например, числами или строками, или элементами или массивами.
Элементы массива можно получить с помощью индексов
МножественныеКлюч:Пaires ou éléments разделены запятыми
Данный пример поможет вам использовать функцию 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-данные, в переменную и затем парсить эти данные.
Рассмотрим следующий 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 + "的办公电话号码是" + jsonParsed.persons[0].phone.office); console.log(jsonParsed.persons[1].name + "是来自" + jsonParsed.persons[0].city); });
运行上面的Node.js程序。
运行nodejs-parse-json-file.js的终端输出
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-parse-json-file.js John的办公电话号码是040-528-1258 Phil来自Kochi
在这个Node.js教程- Node.js JSON文件解析-我们已经学会了使用JSON.parse()函数,在示例Node.js程序的帮助下从一个变量或文件解析JSON数据。