restAPI - как отформатировать значение JSON - PullRequest
0 голосов
/ 01 ноября 2018

Я получаю значение JSON с моего сервера, и оно работает хорошо. Но я хочу настроить мое значение JSON. У меня два вопроса:

Во-первых, когда я получаю значение региона, я получаю его как ["USA"],["Mexico"],["Canada"]. Есть ли способ, которым я могу игнорировать двойные кавычки / скобки и просто получить значения строк, такие как USA, Mexico, Canada?

Во-вторых, когда я получаю значение regDate, я получаю все данные, например, 2018-10-31T07:53:12.000Z, могу ли я игнорировать некоторые значения и получать их как 2018-10-31 07:53?

{
  "result": "ok",
  "data": [
      {
        "idx": 1,
        "region": "[\"USA \", \"Mexico \", \"Canada \"]",
        "regDate": "2018-10-31T07:53:12.000Z"
      }
   ]
}

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Кажется, что ваши region данные были в двойном кодировании. В javascript вы захотите расшифровать это, например,

const response = {
  "result": "ok",
  "data": [
      {
        "idx": 1,
        "region": "[\"USA \", \"Mexico \", \"Canada \"]",
        "regDate": "2018-10-31T07:53:12.000Z"
      }
   ]
};

const regions = JSON.parse(response.data[0].region);

Для форматирования времени вы можете использовать встроенный тип Javascript Date, например ..

const regDate = new Date(response.data[0].regDate);
const regDatestr = 
  regDate.getUTCFullYear() + '-' +
  regDate.getUTCMonth() + '-' +
  regDate.getDate() + ' ' +
  regDate.getUTCHours() + ':' +
  regDate.getUTCMinutes()
;

Если вам нужно больше функциональности, чем встроенный, я бы порекомендовал date-fns .

0 голосов
/ 01 ноября 2018

Вы сохраните результаты вашего запроса JSON в переменную data. Тогда вы сделаете это:

var countries = "";

for (var i = 0; i < data[0].region.length; i++) {
    countries += data[0].region[i];
}

var time = data[0].regDate.split("000Z");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...