Node.js NPM JSON
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,
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
上面的代码生成以下结果。