我如何在Node.js中循环读取JSON文件的值?

时间:2018-01-18 09:42:56

标签: javascript json node.js

说我有一块JSON,我将其存储在一个文件中:

//data.json
{
  "table": [
    {
      "text": "Balance",
      "value": "0.00" 
    }
  ]
}

然后,当我在一个集合上进行迭代时,我想将var设置为存储在文件中的json的值,向其中添加一些数据,然后对其执行其他操作。我的Java大脑尝试了这个:

financials.forEach(function (value) {
  ...
  jsondata = require('data.json')
  jsondata.table.push(newTransaction)
  ...
  doSomethingElse(jsondata)
}

在javascript / node中执行此操作的最佳和最惯用的方法是什么? 如果我尝试使用'require',我认为缓存只在循环的第一次迭代时设置jsondata的值,并且var jsondata保持增长而不是重置,导致数据在循环之间泄漏。

(我可能也错了在foreach中尝试这个。)

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解确切的问题是什么 - 但如果假设你的意思是泄漏那么意味着之前的循环工作正在出现。

无论如何,你是正确的app.ts缓存。但是你的另一个问题是你总是在做参考。

为了清楚起见,我将需求移出forEach循环 - 在forEach中我会用Object.assign创建数据的副本。这样你就不会编辑源代码,因为对象是通过引用传递/复制的。