Как получить json значение ключа из ajax успеха? - PullRequest
0 голосов
/ 02 марта 2020

Я хочу получить доступ к журналам данных, которые я получаю из ответа 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
     }
}
] 

Можно ли проанализировать только часть журнала?

Ответы [ 2 ]

3 голосов
/ 02 марта 2020

Я не думаю, что вы можете анализировать только часть данных. Но вы можете использовать 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;
2 голосов
/ 02 марта 2020

попробуй

result = JSON.parse(data)[0].logs;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...