如何从 Vue.js 中的 JSON 文件中获取数据?

新手上路,请多包涵

我有具有这种结构的“modified_data.json”JSON 文件。

 {
"data": [
    [
        {
           "account_id": "  "
           "account_name": "   "
        },
        {
           "account_id": "  "
           "account_name": "   "
        },
        {
           "account_id": "  "
           "account_name": "   "
        },
        {
           "account_id": "  "
           "account_name": "   "
        }
     ],
     [
        {
           "account_id": "  "
           "account_name": "   "
        },
        {
           "account_id": "  "
           "account_name": "   "
        },
        {
           "account_id": "  "
           "account_name": "   "
        }
     ],
     [
        {
           "account_id": "  "
           "account_name": "   "
        },
        {
           "account_id": "  "
           "account_name": "   "
        },
        {
           "account_id": "  "
           "account_name": "   "
        }
      ]
   ]
}

我想从每个数组中获取第一个对象的 account_name …

有没有人可以给我一个解决方案??

现在我正在使用 Vue.js 来显示它,我可以用 python 获取每个数据,但是 Vue.js 还不熟悉我……请帮助我:)

原文由 Yohan Choi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 527
2 个回答

您可以使用 计算属性,该属性会反应性地采用每个数组的第一个对象的 account_name 属性:

 const data = {
  "data": [
    [
      {
        "account_id": "11",
        "account_name": "name11"
      },
      {
        "account_id": "12",
        "account_name": "name12"
      },
      {
        "account_id": "13",
        "account_name": "name13"
      },
      {
        "account_id": "14",
        "account_name": "name14"
      }
    ],
    [
      {
        "account_id": "21",
        "account_name": "name21"
      },
      {
        "account_id": "22",
        "account_name": "name22"
      },
      {
        "account_id": "23",
        "account_name": "name23"
      }
    ],
    [
      {
        "account_id": "31",
        "account_name": "name31"
      },
      {
        "account_id": "32",
        "account_name": "name32"
      },
      {
        "account_id": "33",
        "account_name": "name33"
      }
    ]
  ]
}

new Vue({
  el: '#demo',
  data() {
    return {
      data: data.data
    }
  },
  computed: {
    firstAccountNames() {
      return this.data.map(dataSet => dataSet[0].account_name)
    }
  }
})
 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="demo">
  <ul>
    <li v-for="name in firstAccountNames">
      {{ name }}
    </li>
  </ul>
</div>

原文由 antonku 发布,翻译遵循 CC BY-SA 4.0 许可协议

那么,您将必须添加为 Vue 编写的代码

如果你在一个 vue 应用程序中,你可以这样做

<script>
      import json from './json/data.json'
      export default{
          data(){
              return{
                  myJson: json
              }
          }
      }
</script>

如果你在 html 页面中编写它。你可以分两步完成。

第一种是将文件链接添加为脚本

<script src="../file.json"></script>

然后在 vue 脚本部分,您可以将其分配给数据对象。

 var ele = new Vue({
     el : "#YourElement",
    data : ObjName
});

“ObjName”是文件中 json 对象的名称。

 ObjName :
{
"data": [
    [
        {
           "account_id": "  "
           "account_name": "   "
        }

原文由 zetawars 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题