@kroda said in Помогите спарсить объект из массива:
@fox said in Помогите спарсить объект из массива:
Нет, ничего противозаконного
Все получилось, огромное спасибо, но хотелось бы до конца разобраться:
Что такое ноль в квадратных скобках? В редакторе я виже, что после пхонс надо раскрыть объект, но почему тогда мы не пишем его так же как и все остальное через точку?
[[NUMBER]] = JSON.parse([[VARIABLE]]).contacts.phones[0].phone.number
Свойство phones является массивом, через квадратные скобки я могу указать сразу индекс элемента. Так как индекс элементов массива начинается с нуля, то я просто взял первый элемент.
2)Почему здесь в начале вар джисон а не имя переменной? или это для примера написано?
var json = JSON.parse([[VARIABLE]]).contacts.phones
[[NUMBER]] = json[json.length-1].phone.number
Да, по большей части здесь всё для примера :D, но согласитесь, вот такой код совсем непонятный:
[[NUMBER]] = JSON.parse([[VARIABLE]]).contacts.phones[JSON.parse([[VARIABLE]]).contacts.phones.length-1].phone.number
И сраузе же хочу задать последний вопрос, тоже по парсу джисона, в ответе сервера очень много раз повторяются объекты, но ключи разные:
{
"count": 19877,
"info": [
{
"created": "2018-12-09 20:24:04",
"typephone": "iphone7",
"phone": "+79111111111",
"cost": "0",
"accessToken": "111111111111111111111",
"link": "83dcd274f5f476f23379881e68545477"
},
{
"created": "2019-05-22 13:28:04",
"typephone": "iphone6",
"phone": null,
"cost": "0",
"accessToken": "22222222222222222222",
"link": "ecde8b395c7181be307cede64694d722"
}
]
}
Как спарсить строку с токеном "222222222222222222222" и например сразу же после нее строку линк или до нее кост, пхон, таймпхон, креэйтед
[[NUMBER]] = JSON.parse([[VARIABLE]]).info.accessToken (как написать ключ?) и все захватить если имя объекта для все одинаковое "info"
Квадратные скобки свойства info говорят о том, что это массив (читай список), указать индекс элемента массива можно через квадратные скобки:
[[ACCESSTOKEN]] = JSON.parse([[VARIABLE]]).info[1].accessToken
[[LINK]] = JSON.parse([[VARIABLE]]).info[1].link
[[COST]] = JSON.parse([[VARIABLE]]).info[1].cost
или так:
var json = JSON.parse([[VARIABLE]]).info[1]
[[ACCESSTOKEN]] = json.accessToken
[[LINK]] = json.link
[[COST]] = json.cost
Спарсить все необходимые значения из массива можно через цикл