Имя: Пароль:
1C
1С v8
Работа с API
0 Kaban145
 
23.08.21
20:39
Здравствуйте, написал запрос из 1С на сайт по api, сайт возвращает ответ в формате JSON.
Вопрос: как из этого файла получить конкретную строку и заполнить значением этой строки поле на форме?
1 ДенисЧ
 
23.08.21
20:42
Есть же в 1с встроенные функции чтения JSON.
Ты их пробовал?
2 Kaban145
 
23.08.21
20:44
Эмм, пробовал, я просто в этой теме второй день, поэтому если бы кто кинул пример, хоть небольшой, я думаю разобрался бы
3 brainguard
 
23.08.21
21:06
соединение=новый HTTPСоединение("api.nasa.gov",443,,,,,новый ЗащищенноеСоединениеOpenSSL());
    запрос=новый HTTPЗапрос("/planetary/apod?api_key=vHORPgFd5cBM1iXzRs6OAb0bFoYkNbcKjPnBo13x&count=50");
    результатзапроса=соединение.Получить(запрос);
    стр=результатзапроса.ПолучитьТелоКакСтроку();
    
    чт=новый ЧтениеJSON;
    чт.УстановитьСтроку(стр);
    рез=ПрочитатьJSON(чт);
    для каждого эл из рез цикл
и т.д.
4 Kaban145
 
23.08.21
21:23
Выдаёт в строке КлючИЗначение
5 VladZ
 
23.08.21
21:30
(4) Обращайся по ключу
6 Kaban145
 
23.08.21
21:40
Можно, пожалуйста, поподробнее я просто полный ноль в этом, сделаю эту хрень и больше никогда в это не полезу.)
Простите меня заранее.)
7 Мимохожий Однако
 
23.08.21
21:41
Бог простит. Не зарекайся.
8 Базис
 
naïve
23.08.21
21:52
Зарекался Кабан в 1С не лезть :)

Внутри цикла:
Если СокрЛП(Нрег(ключ) = "что ты там хотел" Тогда
   Возврат "Вот оно! " + СокрЛП(Значение);
КонецЕсли;

После цикла
Возврат("Я так и и знал. Ничего не работает. Надо идти на форум.");
9 Elf_80_lvl
 
23.08.21
22:09
(6) В таких случаях нанимают программиста и платят ему за 2 часа работы очень небольшие деньги.
10 DGorgoN
 
24.08.21
08:10
(0) JSON обычный текстовый файл. Открой его блокнотом.
11 Kaban145
 
25.08.21
01:19
Написал вот такую конструкцию:
Чтение=Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ОтветСервера);
МассивДжи=ПрочитатьJSON(Чтение);
Для каждого Элемент из МассивДжи Цикл
    Ключ=Элемент.Ключ;
    Значение=Элемент.Значение;
    Сообщить(Ключ+Значение);
    КонецЦикла;
Выдаёт всего два ключа и вместо значений выдаёт Структура
12 Kaban145
 
25.08.21
01:51
Немного разобрался, выдаёт ключи data и meta, они не содержат значений, а как можно перешагнуть их и прочитать ключи, которые содержат значения?
13 DrZombi
 
гуру
25.08.21
06:10
(12) Вы какое образование имеете?
Какой навык в программировании?
Сколько языков знаете?

...
Ответы на вопросы облегчат нам ответы вам.
Народ уже вам ответил на ваш вопрос, но вы нечего не поняли. :)
14 Chameleon1980
 
25.08.21
07:10
обычно из джейсона примитивного
получается либо структура либо соответствие
в них уже могут быть массивы
почитайте синтакс-помощник по
структура
массив
соответствие

ну или примеры посмотрите
15 Salimbek
 
25.08.21
08:44
(12) Вот так же и перебираешь:

Для каждого Элемент2 из ...

Если внутри будет еще структура или массив, то

Для каждого Элемент3 из ...

P.S. Если знаешь точно, что за имя у нужного тебе узла (например "key"), то можно проще

Данные = МассивДжи["data"]["key"]
16 Kaban145
 
25.08.21
10:55
Спасибо огромное Salimbek , всё получилось.)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.