首页 > 解决方案 > 如何解析 json 值(Javascript Ajax)

问题描述

我需要每 10 秒检查一次 BranchName 的状态 需要获取“BranchName,status”值,但结果并不顺利。我不熟悉解析javascript的json。我能怎么做?谢谢!

获取“分支名称,状态”值,如下所示:

BranchNameA    
1
BranchNameB
1

get 请求返回 value(json),如下所示:

[
   {
      "BranchNameA":{
         "branchNumber":"X20001",
         "companyId":"64400001",
         "shopName":"BOLLYTEST",
         "status":"1",
         "statusText":"Online",
         "statusMessage":"bbbb",
         "errorMessage":"",
         "connectTime":"xxxxxx",
         "disconnectTime":"",
         "CheckModel":{

         }
      }
   },
   {
      "BranchNameB":{
         "branchNumber":"X20001",
         "companyId":"64400001",
         "shopName":"BOLLYTEST",
         "status":"1",
         "statusText":"Online",
         "statusMessage":"bbb",
         "errorMessage":"",
         "connectTime":"xxxxxx",
         "disconnectTime":"",
         "CheckModel":{

         }
      }
   }
]

代码:

<script>
getApi()

function getApi() {

setTimeout(getApi, 10 * 1000);

        $.ajax({
            url: "(api)",
            type: "Get",
            dataType: "json",
            success: function (data) {
                console.log(JSON.stringify(data));
                let user = JSON.parse(data);

                var jsonData = JSON.parse(data);
                for (var i = 0; i < jsonData.fields.length; i++) {
                    var Status= jsonData.fields[i];
                    console.log(counter.status);                   
                }
            }
        })
}

</script>

标签: javascriptjqueryjsonajaxasp.net-core

解决方案


这将解决:

成功:函数(数据){

                var jsonData = apiData;
                console.log(jsonData);
                for (i in jsonData)
                {
                    data = jsonData[i];
                    keys = Object.keys(data);
                    console.log(keys[0]);
                    console.log(data[keys[0]].status);
                }

            }

推荐阅读