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

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

23.09.2018, 14:33. Показов 3231. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru