Как из json получить данные ?

1. 02.05.21 11:49 Сейчас в теме
Добрый день, не могу сообразить обращаюсь к сайту получаю от него данные в формате json

 
ЧтениеJSON = Новый ЧтениеJSON;
 ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
	ЧтениеJSON.Закрыть();
	
 
 Объект.Ответ = Ответ.ПолучитьТелоКакСтроку();

Показать



"valuedItem": [
                        {
                            "entity": {
                                "text": "Ручка шариковая"
                            },
                            "ident": {
                                "system": "https://",
                                "value": "01-01"
                            },
                            "price": {
                                "value": 10.00,
                                "currency": "RUB"
                            }
                        },
Показать

Как теперь из него достать данные и поместить их в таблицу ?
Найденные решения
2. lefthander 02.05.21 12:40 Сейчас в теме
Значение - это строка json
Функция СтрокуJSONВСтруктуру(Значение)
	
		ЧтениеJSON = Новый ЧтениеJSON;
		ЧтениеJSON.УстановитьСтроку(Значение);
		
		Результат = ПрочитатьJSON(ЧтениеJSON);
		
		ЧтениеJSON.Закрыть();
		
	Возврат Результат;
	
КонецФункции
Показать
Terabaytus; +1 Ответить
3. DenisCh 02.05.21 12:41 Сейчас в теме
чтение = Новый ЧтениеJSON;
чтение.УстановитьСтроку(Обекът.Ответ);
стОтвет = ПрочитатьJSON (Чтение, Ложь)
Terabaytus; +1 Ответить
5. lefthander 02.05.21 13:07 Сейчас в теме
(4)Результат будет структура.
Terabaytus; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 02.05.21 12:40 Сейчас в теме
Значение - это строка json
Функция СтрокуJSONВСтруктуру(Значение)
	
		ЧтениеJSON = Новый ЧтениеJSON;
		ЧтениеJSON.УстановитьСтроку(Значение);
		
		Результат = ПрочитатьJSON(ЧтениеJSON);
		
		ЧтениеJSON.Закрыть();
		
	Возврат Результат;
	
КонецФункции
Показать
Terabaytus; +1 Ответить
4. Terabaytus 02.05.21 13:01 Сейчас в теме
(2)Я так понимаю в цикле надо будет выводить ?
5. lefthander 02.05.21 13:07 Сейчас в теме
(4)Результат будет структура.
Terabaytus; +1 Ответить
6. Terabaytus 02.05.21 13:09 Сейчас в теме
(5) Что с ней сделать ? Её перебрать в цикле надо вывести всё содержимое в таблицу ?
7. DenisCh 02.05.21 13:15 Сейчас в теме
(6) Смотря для чего оно тебе нужно.
если в таблицу - то да, цикл.

Хотя... Если в БД, то тоже цикл...
Даже если захочешь просто распечатать - и тут без цикла никуда....

Кругом засады...
Terabaytus; +1 Ответить
8. Terabaytus 02.05.21 13:21 Сейчас в теме
(5)
(7) У меня ошибку выдаёт
Ошибка отображения типов:
Отсутствует отображение для типа 'HTTPОтвет'
{Документ.Документ.Форма.ФормаДокумента.Форма(22)}:    Для Каждого Строка Из СтрокуJSONВСтруктуру(Ответ) Цикл

по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
	форма: Элемент
Показать

Что не так то ?
9. RustamZz 02.05.21 14:09 Сейчас в теме
(8) Ответ нельзя передавать между клиентом и сервером.
10. Terabaytus 02.05.21 14:17 Сейчас в теме
11. RustamZz 02.05.21 14:38 Сейчас в теме
(10) Обманывать не хорошо.
Ошибка передачи данных между клиентом и сервером.
Terabaytus; +1 Ответить
3. DenisCh 02.05.21 12:41 Сейчас в теме
чтение = Новый ЧтениеJSON;
чтение.УстановитьСтроку(Обекът.Ответ);
стОтвет = ПрочитатьJSON (Чтение, Ложь)
Terabaytus; +1 Ответить
12. resonance 04.05.21 00:21 Сейчас в теме
Есть такая сущность как НовыйЧтениеJSON в него передаешь текст JSON с помощью метода
УстановитьСтроку()
И далее ПрочитатьJSON

подробнее
https://wonderland.v8.1c.ru/blog/sredstva-raboty-s-json/
ivan1703; Terabaytus; +2 Ответить
13. ivan1703 31 04.05.21 09:29 Сейчас в теме
ПрочитатьJSON() - парсить более или менее начал с платформы 8.3.12
У Вас приходит массив с вложенными map. Ключ строка, 1С (в теории) преобразует с структуру если ПрочитатьJSON(<ЧтениеJSON> , Ложь) (при втором параметре ИСТИНА, читает в соответствие(map)) - но к сожалению не всегда это делает!
Всегда есть вариант парсить вручную через потоковое чтение) - так надежнее)
Terabaytus; +1 Ответить
Оставьте свое сообщение
Вопросы с вознаграждением