需要处理接口返回的json数据,转为Easyui Tree可以接收的数据格式,怎么处理多层的json数据,json的数据返回大小不一定,属性也有变化,结构类似,只有@desc是根目录
例子:
{
"srvcfg": {
"tokenswitch": {
"token_switch": {
"#text": "0",
"@desc": "切换开关"
},
"@desc": "token切换"
},
"commoncfg": {
"srvtype": {
"count": {
"#text": "1",
"@desc": "数量"
},
"srvtypeid1": {
"#text": "28900",
"@desc": "类型"
},
"@desc": "SrvTypeID的数量"
},
"binanry_msg_queue": {
"count": {
"#text": "2",
"@desc": "消息队列数量"
},
"queuenum1": {
"#text": "10000",
"@desc": "消息队列号"
},
"queuenum2": {
"#text": "20000",
"@desc": "消息队列最小长度"
},
"queuesize1": {
"#text": "300",
"@desc": "小消息队列"
},
"queuesize2": {
"#text": "10000",
"@desc": "消息队列最大长度"
},
"@desc": "消息队列配置"
},
"srv_pwd": {
"count": {
"#text": "1",
"@desc": "约定密码数量"
},
"srvtypeid1": {
"#text": "28900",
"@desc": "端口"
},
"pwd1": {
"#text": "dtvspwd",
"@desc": "dtvs密码"
},
"@desc": "服务器之间约定的密码"
},
"@desc": "这是SrvTypeID规定"
}
}
}
高洛峰2017-06-28 09:24:18
首先我们来分析一波,数据结构不管是什么样的,人去解析和机器去解析肯定是通过类型type。
是里面有type类型,如a、b、c什么的,如果是这样我们肯定可以对应不同的类型设置不同的解析方案。
没有一个明确的type来标识,用的是名字,name和age肯定是两种不同的东西,那我们就可以通过key来判断了。
对于json里面有不是命名规则的东西,我们可以用过[]来访问