Имя: Пароль:
1C
1С v8
как прочитать формат jsontext на платформе 8.3.6
0 Sova112
 
17.02.16
00:33
С помощью ApiStart получаю строку в формате json (тип строка), в итоге нужно преоброзовать в удобочитаемый видв 1с, как это сделать?

СервисApiStart    =    WSСсылки.WSСсылка2.СоздатьWSПрокси("urn:apist","aptart","apartPort");
     jsontext = СервисApiStart.getAl();
        

        
ЧтениеJSON = Новый ЧтениеJSON();

ОтветВСтруктуре1С = ПрочитатьJSON(jsontext );//вот тут выдает ошибку
ЧтениеJSON.Закрыть();
1 Сергиус
 
17.02.16
00:35
(0)ОтветВСтруктуре1С = ПрочитатьJSON(jsontext,Истина) попробуй в соответствие прочитать
2 Sova112
 
17.02.16
00:40
(1) {Форма.Форма.Форма(18)}: Ошибка при вызове метода контекста (ПрочитатьJSON)
    ОтветВСтруктуре1С = ПрочитатьJSON(jsontext,Истина);    
по причине:
Несоответствие типов (параметр номер '1')
3 Lexey_
 
17.02.16
00:42
(2) что СП говорит по поводу типа параметра у ПрочитатьJSON?
4 Sova112
 
17.02.16
00:43
Глобальный контекст (Global context)
ПрочитатьJSON (ReadJSON)
Синтаксис:

ПрочитатьJSON(<ЧтениеJSON>, <ПрочитатьВСоответствие>, <ИменаСвойствСоЗначениямиДата>, <ОжидаемыйФорматДаты>, <ИмяФункцииВосстановления>, <МодульФункцииВосстановления>, <ДополнительныеПараметрыФункцииВосстановления>, <ИменаСвойствДляОбработкиВосстановления>, <МаксимальнаяВложенность>)
Параметры:

<ЧтениеJSON> (обязательный)

Тип: ЧтениеJSON.
Объект чтения JSON.
<ПрочитатьВСоответствие> (необязательный)

Тип: Булево.
Если установлено Истина, чтение объекта JSON будет выполнено в Соответствие.
Если установлено Ложь, объекты будут считываться в объект типа Структура.
Примечание. При десериализации объектов JSON в структуру необходимо помнить о требованиях к ключам структуры. Если при десериализации объекта будет найдено имя свойства, недопустимое для ключа структуры, то будет вызвано исключение.
Значение по умолчанию: Ложь.
<ИменаСвойствСоЗначениямиДата> (необязательный)

Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
<ОжидаемыйФорматДаты> (необязательный)

Тип: ФорматДатыJSON.
Ожидаемый формат даты при десериализации объекта в формате JSON.
Если в результате десериализации значение не является строкой и имеет формат даты, отличный от ожидаемого, то будет вызвано исключение.
Значение по умолчанию: ISO.
<ИмяФункцииВосстановления> (необязательный)

Тип: Строка.
Данная функция вызывается при чтении каждого свойства и должна иметь следующие параметры:
<Свойство> - значение типа Строка, указывается только при чтении объектов JSON,
<Значение> - значение допустимого для сериализации типа,
<ДополнительныеПараметры>.
Возвращаемое значение - произвольного типа.
Если данный параметр задан и не задан параметр МодульФункцииВосстановления, и наоборот, будет вызвано исключение.
Если функция не установлена, то при вызове метода ПрочитатьJSON, параметр ИменаСвойствСоЗначениямиДата игнорируется.
Значение по умолчанию: Неопределено.
<МодульФункцииВосстановления> (необязательный)

Тип: УправляемаяФорма; КомандаКомандногоИнтерфейса; ОбщийМодуль.
Указывает модуль, процедура которого будет использована для восстановления значения. В зависимости от типа параметра будет вызван соответствующий метод:
УправляемаяФорма - будет вызван метод модуля указанной управляемой формы.
КомандаКомандногоИнтерфейса - будет вызван метод модуля команды командного интерфейса.
ОбщийМодуль - будет вызван метод неглобального общего модуля.

Значение по умолчанию: Неопределено.
<ДополнительныеПараметрыФункцииВосстановления> (необязательный)

Тип: Произвольный.
Дополнительные параметры, которые будут переданы в функцию восстановления значений.
Значение по умолчанию: Неопределено.
<ИменаСвойствДляОбработкиВосстановления> (необязательный)

Тип: Массив.
Массив имен свойств JSON, для которых будет вызвана функция восстановления.
Параметр игнорируется, если не установлен параметр ИмяФункцииВосстановления.
Значение по умолчанию: Неопределено.
<МаксимальнаяВложенность> (необязательный)

Тип: Число.
Максимальный уровень вложенности объекта JSON.
При превышении уровня вложенности будет сгенерировано исключение.
Значение по умолчанию: 500.
Возвращаемое значение:

Тип: Произвольный.

Описание:

Считывает значение из JSON-текста или файла. JSON-текст должен быть корректным.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, интеграция.
Примечание:

Массив будет десеарилизован в массив. Объект JSON будет преобразован в соответствие или структуру (если ключ структуры окажется недопустимым, будет вызвано исключение).
Для дат действует аналогично методу ПрочитатьДатуJSON.
Во время выполнения метода может быть вызвана пользовательская функция для восстановления значения - для этого следует использовать параметр ИмяФункцииВосстановления. Функция восстановления должна быть описана с директивой &НаСервере или &НаКлиенте. Использование функции вне контекста не допускается.
--------------------------------------------------------------------------------

     Методическая информация
5 Сергиус
 
17.02.16
00:44
(4)1-й параметр должен быть ЧтениеJSON
6 Sova112
 
17.02.16
00:44
<ЧтениеJSON> (обязательный)

Тип: ЧтениеJSON.
Объект чтения JSON.
как строке сказать что она JSON ? ))
7 Lexey_
 
17.02.16
00:47
(6) ЧтениеJSON.УстановитьСтроку (JSONReader.SetString)
ЧтениеJSON (JSONReader)
УстановитьСтроку (SetString)
Синтаксис:
УстановитьСтроку(<СтрокаJSON>)
Параметры:
<СтрокаJSON> (обязательный)
Тип: Строка.
Строка, содержащая текст в формате JSON.
8 Sova112
 
17.02.16
00:51
{Форма.Форма.Форма(24)}: Ошибка при вызове метода контекста (ПрочитатьJSON)
ОтветВСтруктуре1С = ПрочитатьJSON(ЧтениеJSON);
по причине:
Недопустимое состояние потока записи JSON
9 Sova112
 
17.02.16
00:55
а нет все ок, спасибо большое
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.