首页 > 解决方案 > 循环一个 json 数组列表

问题描述

以下数组列表我需要一一获取所有价格。这将返回完整的 json 对象console.log('File data:', jsonString);,但 for 循环似乎永远不会被调用,它永远不会进入它。我需要遍历一个 json 文件,但它在不同的文件夹中,json 文件位于名为 list.json menu-> projectName\menu\list.json 的菜单文件夹下,文件如下所示数据:

[
  {
    "code": "ZC",
    "price": "1"
  },
  {
    "code": "ZS",
    "price": "3"
  },
  {
    "code": "VC",
    "price": "4"
  },
...]

JS:

const jsonList = fs.readFile("../menu/list.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
  console.log("File data:", jsonString.url);
  for (var key in jsonString) {
    if (jsonString.hasOwnProperty(key)) {
      console.log("===>", jsonString[key].price);
    }
    return jsonString;
  }
});

标签: javascriptnode.jsfs

解决方案


我认为您需要在回调中循环,因为它是异步的,因此 jsonList 不是您在访问它时所期望的对象。请参阅从 fs.readFile 获取数据


推荐阅读