NPM使用JSON文件来配置模块。JSON是一种通过网络传输数据的标准格式,是JavaScript对象字面量的子集。对于JSON,必须对JavaScript对象键使用引号。
JSON限制给定键的值。这些值只能是字符串,数字,布尔值(true或false),数组,null,或另一个有效的JSON对象。
例子
以下代码显示了有效的JSON对象。
{ "firstName": "CSS", "lastName": "HTML", "isAlive": true, "age": 5, "height_cm": 111.12, "address": { "streetAddress": "1234 Main Street", "city": "New York", "state": "NY", }, "phoneNumbers": [ { "type": "home", "number": "222 555-1234" }, { "type": "fax", "number": "666 555-4567" } ], "additionalInfo": null }
firstName值是一个字符串,age是一个数字,isAlive是一个布尔值,phoneNumbers是一个有效的JSON对象数组,additionalInfo是null,address是另一个有效的JSON对象。
JSON中的最后一个属性不能有额外的逗号。
在Node.js中加载JSON
我们可以从文件系统加载JSON对象,就像加载JavaScript模块一样。在模块加载序列中的每一次,如果没有找到file.js,Node.js会寻找file.json。如果找到,它返回一个表示JSON对象的JavaScript对象。
在c:/json/filebased/config.js中我们有
{ "myData": "this is the value for myData" }
以下代码使用require加载JSON数据。
var config = require("./config"); console.log(config.myData); // this is the value for myData
JSON转换器
JSON对象具有将JSON的字符串表示形式转换为JavaScript对象并将JavaScript对象转换为JSON字符串的函数。
要将JavaScript对象转换为JSON字符串,请调用JSON.stringify传递JavaScript对象。此函数返回JavaScript对象的JSON字符串表示形式。
转换JSON字符串转换为JavaScript对象,使用JSON.parse函数,它只是解析JSON字符串并返回一个JavaScript对象。
var myData = { a: 1, //www.w3cschool.cn b: "a string", c: true }; // convert a JavaScript object to a string var json = JSON.stringify(myData); console.log(json); console.log(typeof json); // string // convert a JSON string to a JavaScript object var backToJs = JSON.parse(json); console.log(backToJs); console.log(backToJs.a); // 1
上面的代码生成以下结果。