Как использовать этот тип ключа в объекте JSON? - PullRequest
0 голосов
/ 28 декабря 2018

Я работаю над сторонними apis get json объектом, подобным этому.

var data ={
"matches": [
{
  "unique_id": 1144995,
  "date": "2018-12-25T00:00:00.000Z",
  "dateTimeGMT": "2018-12-25T23:30:00.000Z",
  "team-1": "Australia",
  "team-2": "India",
  "type": "Test",
  "squad": true,
  "toss_winner_team": "India",
  "matchStarted": true
},
{
  "unique_id": 1153839,
  "date": "2018-12-25T00:00:00.000Z",
  "dateTimeGMT": "2018-12-25T22:00:00.000Z",
  "team-1": "New Zealand",
  "team-2": "Sri Lanka",
  "type": "Test",
  "squad": true,
  "toss_winner_team": "Sri Lanka",
  "matchStarted": true
},
],
 "type":"test"
}

Но проблема при использовании каждого зацикливания данных, получить ключ "team-1" и "team-2", значение не получить только "Опция "NaN".

var container = $("#metch_container");
$.each(data.matches, function(key, value) {

                container.append($("<option></option>")
                .attr("value",value.unique_id)
                .text(value.team-1. +" VS " + value.team-2));
            });

Пожалуйста, разберитесь с моей проблемой, спасибо

Ответы [ 3 ]

0 голосов
/ 28 декабря 2018

В этой строке:

.text(value.team-1. +" VS " + value.team-2));

Вы не можете получить доступ к значениям value.team-1 или value.team-2, так как team-2 относится к

команда минус 2

, здесь не распознанная переменная: здесь можно сделать следующее:

.text(value["team-1"] +" VS " + value["team-2"]);
0 голосов
/ 28 декабря 2018

Прежде всего, ваш JSON недействителен.Вот действительный JSON

Проверка Здесь

https://jsfiddle.net/shoesheill/gjbzq7an/1/

var data={ "matches": [ { "unique_id": 1144995, "date": "2018-12-25T00:00:00.000Z", "dateTimeGMT": "2018-12-25T23:30:00.000Z", "team-1": "Australia", "team-2": "India", "type": "Test", "squad": true, "toss_winner_team": "India", "matchStarted": true }, { "unique_id": 1153839, "date": "2018-12-25T00:00:00.000Z", "dateTimeGMT": "2018-12-25T22:00:00.000Z", "team-1": "New Zealand", "team-2": "Sri Lanka", "type": "Test", "squad": true, "toss_winner_team": "Sri Lanka", "matchStarted": true } ], "type":"test" }

И затем, если ваш ключ имеет - в нем, затем используйте это

var container = $("#metch_container");

$.each(data.matches, function(key, value) {
container.append("<option>dvdfvfdv</option>")
     .attr("value",value.unique_id)
     .text(value['team-1'] +" VS " + value['team-2']);
   });
0 голосов
/ 28 декабря 2018

Используйте формат value["team-x"], если имя свойства содержит недопустимые символы:

var container = $("#metch_container");
$.each(data.matches, function(key, value) {

                container.append($("<option></option>")
                .attr("value",value.unique_id)
                .text(value["team-1"] +" VS " + value["team-2"]));
            });

Надеюсь, это поможет вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...