簡體   English   中英

如何在Node.js的循環中慣用地讀取JSON文件的值?

[英]How do I idiomatically read the value of a JSON file within a loop in 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中嘗試這樣做可能也錯了。)

我不確定確切的問題是什么,但是如果假設您的意思是泄漏,則表示正在循環中進行先前的工作。

無論如何,您正確地require緩存。 但是您的另一個問題是您總是在研究參考。

為了清楚起見,我將需求從forEach循環中移出了-在forEach中,我將使用Object.assign創建數據的副本。 這樣,您無需編輯源代碼,因為對象是通過引用傳遞/復制的,因此源代碼將持續存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM