您的位置:首頁技術文章
文章詳情頁

javascript - js解析多層嵌套json數據,遞歸調用

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

問題描述

需要處理接口返回的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規定' }}

}

問題解答

回答1:

首先我們來分析一波,數據結構不管是什么樣的,人去解析和機器去解析肯定是通過類型type。

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

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

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

javascript - js解析多層嵌套json數據,遞歸調用

標簽: JavaScript
国产综合久久一区二区三区