Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
8 / 0 / 2
Регистрация: 11.06.2016
Сообщений: 261

Вставка переменной при парсинге данных из объекта/или JSON

23.09.2018, 14:33. Показов 3211. Ответов 8
Метки json (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Имею:

JavaScript
1
2
3
4
5
6
7
let address = "rMQ98K56yXJbDGv49ZSmW51sLn94Xe1mu1";
let line = "i.outcome.balanceChanges." + address + "[0]" + ".value";
// e = e + parseFloat(i.outcome.balanceChanges.rMQ98K56yXJbDGv49ZSmW51sLn94Xe1mu1[0].value);
console.log(line);
e = e + parseFloat(line);
 
console.log(e);
Когда использую:
JavaScript
1
let line = "i.outcome.balanceChanges." + address + "[0]" + ".value";
то
JavaScript
1
console.log(e);
выводит:
rMQ98K56yXJbDGv49ZSmW51sLn94Xe1mu1: NaN (что некоректно, должно быть чило)

Когда использую :
JavaScript
1
e = e + parseFloat(i.outcome.balanceChanges.rMQ98K56yXJbDGv49ZSmW51sLn94Xe1mu1[0].value);
то
JavaScript
1
console.log(e);
выводит:
rMQ98K56yXJbDGv49ZSmW51sLn94Xe1mu1: число(что коректно)

Как коректно вставить переменню "address"
в строку
JavaScript
1
e = e + parseFloat(i.outcome.balanceChanges.rMQ98K56yXJbDGv49ZSmW51sLn94Xe1mu1[0].value);
вместо "rMQ98K56yXJbDGv49ZSmW51sLn94Xe1mu1"
?????


Мои знания в JS 0 прошу ткнуть что на что поменять и желательно где это почитать.
Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.09.2018, 14:33
Ответы с готовыми решениями:

PHP (curl) или JS (.getJSON) - в парсинге .json
Доброго всем настроения, программисты этого форума. Мне нужна ваша помощь, друзья! 1. Что лучше и быстрее будет для парсинга...

Ошибка при парсинге JSON
Нужно распарсить JSON и информацию оттуда записать в label. При попытке присвоения label'у текста из JSON выдает ошибку: Instance member...

Проблема при парсинге JSON
Создал программу, которая скачивает данные пользователя с vk api, парсит их и говорит, онлайн он или нет. Каких только способов не...

8
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
25.09.2018, 20:08
Лучший ответ Сообщение было отмечено marketarea как решение

Решение

marketarea,
JavaScript
1
i.outcome.balanceChanges[address][0].value
доступ к свойствам объекта можно осуществить и с помощью [ и ], как с массивами.
1
8 / 0 / 2
Регистрация: 11.06.2016
Сообщений: 261
27.09.2018, 19:48  [ТС]
Спасибо большое, заработало!
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
27.09.2018, 22:07
Цитата Сообщение от marketarea Посмотреть сообщение
желательно где это почитать.
https://learn.javascript.ru/object
Кстати, очень приятный онлайн-учебник JavaScript. Читается легко и приятно.
А тема регулярных выражений вообще пригождается в других языках программирования.
1
8 / 0 / 2
Регистрация: 11.06.2016
Сообщений: 261
06.03.2019, 15:12  [ТС]
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
    "ledger_hash": "A13926349250D6BE85B88D5A656100B076850949AEDF2ADCD1D8B542985F861F",
    "ledger_index": 45605767,
    "offers": [
        {
            "Account": "rBndiPPKs9k5rjBb7HsEiqXKrz8AfUnqWq",
            "BookDirectory": "DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E0B2D453476A000",
            "BookNode": "0000000000000000",
            "Flags": 0,
            "LedgerEntryType": "Offer",
            "OwnerNode": "0000000000000000",
            "PreviousTxnID": "3BE240C28589D616711A5BD693D74DC2C3C09F92DCA08ABA7D5731EB0D1215E7",
            "PreviousTxnLgrSeq": 45605753,
            "Sequence": 548495,
            "TakerGets": "500000000",
            "TakerPays": {
                "currency": "USD",
                "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
                "value": "157.3"
            },
            "index": "1D5169F248B1712C4E5F384F06BE1ACACF6F149AFA1407B5595258F5F3F662E5",
            "owner_funds": "6167084029",
            "quality": "0.0000003146"
        }
    ],
    "validated": true
}

Я пытаюсь получить значение TakerGets но неполучается...
Пожулуйста подскажите как туда добраться я снова гоню....
Спасибо большое!
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
06.03.2019, 15:18
Лучший ответ Сообщение было отмечено marketarea как решение

Решение

marketarea, если json - объект, спарсенный с вашего json, то:
JavaScript
1
let myvalue = json.offers[0].TakerGets;
Учтите, что offers - массив, т.е. может быть такое что там будут несколько элементов.
1
8 / 0 / 2
Регистрация: 11.06.2016
Сообщений: 261
06.03.2019, 15:48  [ТС]
Огромное спасибо !!!!!!
Вы просто ткнули меня пальцем куда нужно.

Добавлено через 8 минут
Наберусь наглости спросить еще,
а если json это(string):

return JSON.stringify(book_offers, null, '\t')

то как в таком случае добраться до значения TakerGets?
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
06.03.2019, 16:01
Лучший ответ Сообщение было отмечено marketarea как решение

Решение

marketarea, не совсем понял суть вопроса, так как вы скинули код который переводит уже существующий объект в строку, достаточно будет использовать:
JavaScript
1
book_offers.offers[0].TakerGets
А в общем случае:

JavaScript
1
2
3
4
5
6
7
let obj = {
 a: 2,
 b: "Hi"
};
 
let json = JSON.stringify(obj, null, '\t'); //json = > строка
let parsed = JSON.parse(json); //parsed - объект
1
8 / 0 / 2
Регистрация: 11.06.2016
Сообщений: 261
06.03.2019, 16:12  [ТС]
Спасибо. Все понятно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2019, 16:12
Помогаю со студенческими работами здесь

KeyError при парсинге AJAX(json).Python 3.6.2
Всем привет, решил написать парсер на python одного сайта, где данные добавляются динамически с помощью javascript.И на раннем этапе...

Выдает nil при парсинге JSON из базы сайта на битриксе
Всем привет, есть странная проблема: скрипт делает запрос в базу данных сайта на 1с битриксе, выбирает какие то данные и формирует валидный...

Получения списка элементов массива при парсинге JSON на XE4
Пытаюсь пропарсить JSON сам он такого вида: {"text_unique":"0.00","result_json":"{\"date_check\":\"30.01.2015...

Формирование json объекта на основании строки в переменной $_GET
С помощью jquery отправляю запрос серверному скрипту, передавая туда строку вида (пример упрощен) {"obj":"value"} ...

"Ссылка на объект не указывает на экземпляр"- при парсинге json
парсю json ответ, нужно парсить результат параметра new_from, но ошибка при компиляции


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period. Это. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru