nodejs对于json数据的引用

来源:互联网 发布:linux dump 函数乱码 编辑:程序博客网 时间:2024/05/21 18:38

JSON格式说明

  • 并列的数据之间用逗号(”, “)分隔。

  • 映射用冒号(”: “)表示。

  • 并列数据的集合(数组)用方括号(“[]”)表示。

  • 映射的集合(对象)用大括号(”{}”)表示。

以上四点,就是JSON格式的所有内容(完全颠覆了我初次接触JSON时对于JSON的认知,一直以为JSOn的定义就是什么对象与数组的嵌套)

JSON对象的转化及引用

JSON对象的转化

  1. 引用fs文件系统模块
  2. 使用fs.readFileSync()方法引用到对应的JSON文件
  3. 使用JSON.parse()方法,将引用到的json文件内容转化为JSON对象
  4. 使用exports方法将这个JSON对象暴露出去
var fs = require("fs");var contents = fs.readFileSync("mockData/mockData.json");var data = JSON.parse(contents);exports.requests = data.requests;

JSON对象的引用

  1. 引用path文件路径模块
  2. 使用require和path.resolve方法引入转化JSON对象的JS文件
  3. 此时已经可以引用之前exports方法暴露出去的数据
var path = require('path');mockData = require(path.resolve('./mockData'));user = mockData.requests.users.user[0];

此时我们已经直接可以使用JSON对象中的所有数据。

坑点:

如果直接用一个等号取到json对象中的值,

user = mockData.requests.users.user[0];

user只是指向这个对象,而不是复制了这个对象。所以当user发生改变时,我们引用的JSON数据的值也会发生变化,但是JSON数据本身不会发生变化,因为我们引用及改变的是JSON转化为的JSON对象。

解决上述坑点请移步