Vue中引入json的三种方式总结
作者:青颜的天空
这篇文章主要介绍了Vue中引入json的三种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
vue引入json的三种方式
json的定义
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
1.require-运行时加载
test.json文件
{ "testData": "hello world", "testArray": [1,2,3,4,5,6], "testObj": { "name": "tom", "age": 18 } }
// require引用: mounted() { // require引用时,放src和放statci都可以,建议放static const testJson = require('../../static/json/test.json'); const {testData, testArray, testObj} = testJson; console.log('testData',testData); // ‘hello world' console.log('testArray',testArray); // [1,2,3,4,5,6] console.log('testObj',testObj); }
2.import-编译时输出接口
// import 引用 // import引用时,放src和放statci都可以,建议放static import testImportJson from '../../static/json/test.json' // import testImportJson from './json/test.json' export default { data(){ return{ testImportJson } }, mounted() { const {testData, testArray, testObj} = this.testImportJson; } }
3. 通过http请求获取
// http引用 methods:{ async jsonHttpTest(){ const res = await this.$http.get('http://localhost:8080/static/json/test.json'); // 放在src中的文件都会被webpack根据依赖编译,无法作为路径使用,static中的文件才可以作为路径用 const {testData, testArray, testObj} = res.data; } }, mounted() { this.jsonHttpTest(); },
vue解析json数据
<!DOCTYPE html> <html lang="zh-CN"> <head> <title></title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script><!--vue.min.js的库--> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script><!--jQuery库--> </head> <body> <div id="main"> <div v-for="item in rows"> <p>姓名:{{item.name}}</p> <p>昵称:{{item.nick}}</p> </div> </div> </body> <script> $(document).ready(function () { $.getJSON("data.json", function (result, status) { var v = new Vue({ el: '#main', data: { rows: result } }) }); }); </script> </html>
test.json
[ { "name": "王小婷", "nick": "祈澈菇凉" }, { "name": "安安", "nick": "坏兔子" }, { "name": "编程微刊", "nick": "简书" } ]
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。