|   |   | 
| 
 | Аналог функции json_decode в 1с для декодирования строки (escape) | ☑ | ||
|---|---|---|---|---|
| 0
    
        adelaide 13.06.14✎ 12:06 | 
        Работаю с Web API одного поставщика, результат возвращается в JSON, текст закодирован (escape) мне его надо раскодировать в 1С, в пхп это функция json_decode(), какой аналог есть в 1С?     | |||
| 1
    
        shuhard 13.06.14✎ 12:10 | 
        (0) нет
 1С таких слов не знает | |||
| 2
    
        Рэйв 13.06.14✎ 12:10 | 
        Есть такой аналог
 ТвояФункцияПоДекодированиюJSON() и ее тебе придется написать самому. | |||
| 3
    
        adelaide 13.06.14✎ 12:26 | 
        Может кому пригодится:
 UnicodeEncode(Строка) /////////////////////////РАБОТА С JSON ////////////////////////////////////////// //Функция декодирует полученный unicod текст // в привычный нам //Параметры: // Строка //Возвращаемое значение: // Строка Функция UnicodeEncode(Строка) Экспорт Результат = ""; Попытка //регулярное выражение Рег = Новый COMОбъект("VBScript.RegExp"); Рег.IgnoreCase = Истина; Рег.Global = Истина; Рег.Multiline = Ложь; Рег.Pattern = "u[0-9a-f]+"; Колекция = Рег.Execute(Строка); Для Каждого Элемент Из Колекция Цикл Если СтрДЛина(Элемент.value) = 1 Тогда Продолжить; КонецЕсли; КодСимвола = ПереводЧислаИз16в10(Сред(ВРег(Элемент.value), 2)); Символ = Символ(КодСимвола); Строка = СтрЗаменить(Строка, "\" + Элемент.value, Символ); КонецЦикла; Результат = Строка; Исключение Результат = ""; Сообщить("Ошибка преобразования из Unicode", СтатусСообщения.Информация); КонецПопытки; Возврат Результат; КонецФункции Функция ПереводЧислаИз16в10(Знач Значение) Результат = 0; //перевод значения в строку Если ТипЗнч(Значение) <> Тип("Строка") Тогда Значение = СокрЛП(Строка(Значение)); КонецЕсли; МаксРазрядЦелых = 0; МаксРазрядЦелых = СтрДлина(Значение) - 1; н = МаксРазрядЦелых; Ин = 1; Пока н >= 0 Цикл ТекЗначение = СтруктураЧисел.Получить(Сред(Значение, Ин, 1)) * Pow(16, н); Результат = Результат + ТекЗначение; н = н - 1; Ин = Ин + 1; КонецЦикла; Возврат Результат; КонецФункции СтруктураЧисел = Новый Соответствие; СтруктураЧисел.Вставить("0", 0); СтруктураЧисел.Вставить("1", 1); СтруктураЧисел.Вставить("2", 2); СтруктураЧисел.Вставить("3", 3); СтруктураЧисел.Вставить("4", 4); СтруктураЧисел.Вставить("5", 5); СтруктураЧисел.Вставить("6", 6); СтруктураЧисел.Вставить("7", 7); СтруктураЧисел.Вставить("8", 8); СтруктураЧисел.Вставить("9", 9); СтруктураЧисел.Вставить("A", 10); СтруктураЧисел.Вставить("B", 11); СтруктураЧисел.Вставить("C", 12); СтруктураЧисел.Вставить("D", 13); СтруктураЧисел.Вставить("E", 14); СтруктураЧисел.Вставить("F", 15); | |||
| 4
    
        Asmody 13.06.14✎ 13:37 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |