簡體   English   中英

如何從ajax成功訪問json鍵值?

[英]How to access json key value from ajax success?

我想訪問我從 ajax 響應中獲得的數據的日志。 我想將它創建為一個數組,以便我可以訪問所有日志。 但是現在每當我解析數據時,它都會將其作為單個對象值。

數據中只有一個_id=1。 我想訪問日志。

[
 {
   "_id": "1",
   "qos": "Access",
   "date": "2020-02-26",
   "logs": [
     {
       "qos": "Access",
       "date": "2020-02-26",
       "hour": 23,
       "cellName": "A11" 
     },
     {
       "qos": "Access",
       "date": "2020-02-26",
       "hour": 21,
       "cellName": "A12" 
     }
     {
        similar for entries
     },{}
}
] 

$.ajax({
       type: 'POST',
       async: 'false',
       url: '/data_from_datastore',
       contentType: 'application/json',
       data: JSON.stringify(sendDate1),
       success: function (data) {
           debugger;

               data = JSON.parse(data); // Here I want to create an array of all the log values

我想將數據讀取為:

 [
     {
       "qos": "Access",
       "date": "2020-02-26",
       "hour": 23,
       "cellName": "A11" 
     },
     {
       "qos": "Access",
       "date": "2020-02-26",
       "hour": 21,
       "cellName": "A12" 
     }
     {
        similar for entries
     }
}
] 

有沒有辦法只解析日志部分?

我認為你不能只解析那段數據。 但是你可以使用array.reduce,比如

const logs = data.reduce((result, item) => { return [...result, item.logs] }, []);

或者一些不是 ECMA2015 版本,比如

var logs = [];
data.forEach(function(item){ logs.push(item.logs); });

或者,如果您只需要數據數組的第一項 -

var logs = JSON.parse(data)[0].logs;

嘗試

 result = JSON.parse(data)[0].logs;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM