JSON Decode.

Тема в разделе "Решение различных задач по парсингу", создана пользователем napserious, 21 мар 2018.

  1. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    Добрый день, столкнулся с проблемой декодирования:
    Есть текст: Ar\u016bn\u0117,
    его нужно декодировать, как я понимаю это JSON кодировка,
    [JSONDECODE]Ar\u016bn\u0117[/JSONDECODE]
    возвращает изначальный текст: Ar\u016bn\u0117
    Хотя должен был получить: Arūnė

    В чем может быть проблема ?
    Если я правильно понял декодирование происходит только для русских слов ?
    Можно ли както пополнить базу символов которые CD умеет декодировать?
     
  2. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    Пробовал через регулярные:
    Код:
    re:(\u0432+)|ū
    re:(\u0117+)|ė
    Но писать для каждого символа такой код, ух.
     
  3. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
  4. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    К сожалению не нашел там нужных примеров, но вопрос был не в этом, я хотел бы понять почему сама функция JSONDECODE не работает на данных примерах.
     
  5. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Скорее всего он не обрабатывает составные диакритические знаки. Но это только догадки.
    И их не так уж и много, пропишите руками и добавьте в тему что я присылал.
     
    napserious нравится это.
  6. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    Возможно, спасибо.
    Так и сделаю.
     
  7. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    Вот только проблема, все данные я получаю через GETMORECONTENT и поиск-замена через shift+ctrl+r не работает в данном случае :(
     
  8. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    поверх GETMORECONTENT применяйте REPLACE
     
  9. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    Тогда в этот replace нужно добавить все коды юникод?
    Таких GETMORECONTENT у меня 3 штуки, шаблон вывода будет на сотни строк
     
  10. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Вот так, и не надо использовать регулярки
    Код:
    [REPLACE(\u0432|ū{break}\u0117|ė)]<GETMORECONTENT><URL="[SELF]"><START=""><STARTCOUNT="0"><END=""><ENDCOUNT="0"><PARAMS=""></GETMORECONTENT>[/REPLACE]
     
  11. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    Да. Этот способ я и начал делать, спасибо, не знал про {break}.
     
  12. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Посмотрите как правильно работать с поиск/заменой
    Ссылки недоступны для гостей
     

Поделиться этой страницей