需要處理介面傳回的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规定"
}
}
}
首先我們來分析一波,資料結構不管是什麼樣的,人去解析和機器去解析肯定是透過型別type。
是裡面有type型,如a、b、c什麼的,如果是這樣我們一定可以對應不同的型別設定不同的解析方案。
沒有一個明確的type來標識,用的是名字,name和age肯定是兩種不同的東西,那我們就可以透過key來判斷了。
對於json裡面有不是命名規則的東西,我們可以用過[]來存取