成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - js解析多層嵌套json數(shù)據(jù),遞歸調(diào)用

瀏覽:100日期:2023-05-09 18:16:16

問題描述

需要處理接口返回的json數(shù)據(jù),轉(zhuǎn)為Easyui Tree可以接收的數(shù)據(jù)格式,怎么處理多層的json數(shù)據(jù),json的數(shù)據(jù)返回大小不一定,屬性也有變化,結(jié)構(gòu)類似,只有@desc是根目錄

例子:{

'srvcfg': { 'tokenswitch': {'token_switch': { '#text': '0', '@desc': '切換開關(guān)'},'@desc': 'token切換' }, 'commoncfg': {'srvtype': { 'count': {'#text': '1','@desc': '數(shù)量' }, 'srvtypeid1': {'#text': '28900','@desc': '類型' }, '@desc': 'SrvTypeID的數(shù)量'},'binanry_msg_queue': { 'count': {'#text': '2','@desc': '消息隊列數(shù)量' }, 'queuenum1': {'#text': '10000','@desc': '消息隊列號' }, 'queuenum2': {'#text': '20000','@desc': '消息隊列最小長度' }, 'queuesize1': {'#text': '300','@desc': '小消息隊列' }, 'queuesize2': {'#text': '10000','@desc': '消息隊列最大長度' }, '@desc': '消息隊列配置'},'srv_pwd': { 'count': {'#text': '1','@desc': '約定密碼數(shù)量' }, 'srvtypeid1': {'#text': '28900','@desc': '端口' }, 'pwd1': {'#text': 'dtvspwd','@desc': 'dtvs密碼' }, '@desc': '服務器之間約定的密碼'},'@desc': '這是SrvTypeID規(guī)定' }}

}

問題解答

回答1:

首先我們來分析一波,數(shù)據(jù)結(jié)構(gòu)不管是什么樣的,人去解析和機器去解析肯定是通過類型type。

是里面有type類型,如a、b、c什么的,如果是這樣我們肯定可以對應不同的類型設置不同的解析方案。

沒有一個明確的type來標識,用的是名字,name和age肯定是兩種不同的東西,那我們就可以通過key來判斷了。

對于json里面有不是命名規(guī)則的東西,我們可以用過[]來訪問

javascript - js解析多層嵌套json數(shù)據(jù),遞歸調(diào)用

標簽: JavaScript