JavaScript split JSON - строка путем подсчета объектов (не зная, сколько их) - PullRequest
1 голос
/ 20 апреля 2020

У меня есть несколько значений в структуре JSON, например:

[{"Id":22,"Title":"München - Stockholm 31.01.2017 15:00"},{"Id":23,"Title":"Stockholm - München 01.02.2017 18:00"}]

Я знаю, как разделить одно из них:

var text = "[{\"Id\":22,\"Title\":\"München - Stockholm 31.01.2017 15:00\"}]";
console.log(JSON.parse(text)[0].Title.split(","));

Но как можно разделить несколько элементов? ?

Это будет работать, но только потому, что я указал, что есть 2 элемента.

var text = "[{\"Id\":22,\"Title\":\"München - Stockholm 31.01.2017 15:00\"},{\"Id\":23,\"Title\":\"Stockholm - München 01.02.2017 18:00\"}]";

var count = Object.keys(text).length;
console.log(count);

for (var i=0; i < 2; i++){
    console.log(JSON.parse(text)[i].Title.split(","));
}

Я хотел сосчитать объекты и использовать count в для l oop, но вывод равен 115, а не 2. Если я напишу text[1], вывод будет равен 1, но это мне тоже не поможет.

Заранее спасибо!

1 Ответ

3 голосов
/ 20 апреля 2020

Еще раз, первое, что вам нужно, это JSON.parse:

var text = "[{\"Id\":22,\"Title\":\"München - Stockholm 31.01.2017 15:00\"},{\"Id\":23,\"Title\":\"Stockholm - München 01.02.2017 18:00\"}]"
var json = JSON.parse(text)
var count = json.length

console.log(count)

Учитывайте тот факт, что для всех операций с массивами / объектами требуются фактические массивы и объекты. Строка - это массив, но это массив символов.

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