定义
var json = {
"index": {
"base_menu": ["", "肉类", "", "鲜蔬", "", "果品"],
"recommend_menu": ["推荐", "农产品", "农用物资", "农业服务"],
"recommend_menu_details": [
["", "牛副产品", "", "柑桔", "", "猪副产品"],
["", "禽畜只因蛋", "", "水果", "", "蔬菜"]
]
}
module.exports = {
minyue: json
}
解释
所有的符号均为英文格式下的
基础定义
“数据名”: 数据值
// 基础定义
{
“name”: "小程序"
}
数组定义
“数组名”: [“元素一”,“元素二”,“元素三”]
这里的元素可以是基础定义,数组定义,字典定义(嵌套使用)
// 数组定义
{
“array”: ["11","22","33","44","55"]
}
字典定义
“字典名”: {“数据名”: “数据值”}
每一个数据必须要有一个数据名,后面是数据
数据值可以是基础定义中的数据,数组定义中的数组,字典定义中的字典
// 字典定义
{
"dictionary": {
"name": "新华字典",
"height": "10cm"
}
}
// 组合使用
// 理论上{}和[]是可以无限套娃的,前提是符合大类与小类的关系
{
"arr": [
{
"name": "公司",
"department": ["人事部","财务部"],
"details": [
{
"number": 2,
"peoper": [
{
"name": "张三",
"age": "23"
},
{
"name": "李四",
"age": "24"
}
]
},
{
"number": 1,
"peoper": [
{
"name": "王五",
"age": "25"
}
]
}
]
},
{
"message": "和上面的一样的格式"
}
],
"dictionary_1": {
"message": "嵌套基础定义",
"auther": "achong",
"pages": "686"
},
"dictionary_2": {
"auther": ["张三","李四","王五"],
"amend": {
"seconds": "3",
"details": ["五年前","三年前","一年前"]
}
},
"dictionary_3": {
"titles": ["动物","食物"],
"details": [
{
"kind": "哺乳科",
"example": {
"小狗": "看家护院",
"小猫": "治愈,拒绝emo",
"兔子": "美味可口,萌宠"
},
"common": ["小只","好看","美味可口"]
},
{
"kind": "",
"example": {
"苹果": "多吃苹果,少看医生",
"香蕉": "提升大脑运转速度",
"香蕉梨": "这个真的可好吃了"
},
"common": {
"口味": "香甜可口",
"适宜人群": "老少皆宜",
"大小": "都在理解范围内"
}
}
]
}
}
检查错误
将写好的json数据复制到网页的左边的文本框中,在右边就可以出现已经格式化的数据,方便查看
小程序中引用
在进行单个界面调试时,可以在这个js文件中定义下面这些,设置编译为当前页,减少点击时间
当然也可以直接在js中将json的数据赋值给data中的json,我这里的作用是同步小程序中所有的动态数据
本地引用
const app = getApp();
import localData from "../../json/minyue";
Page({
/**
* 页面的初始数据
*/
data: {
json: []
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var that = this;
app.data.json = localData
that.setData({
json: app.data.json.minyue.index
})
}
})
云端引用
init() {
let that = this;
wx.request({
url: '',
success(e) {
console.log("获取到的数据", e.data);
that.setData({
json: e.data
})
}
})
},