powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Некорректно конвертирует русский шрифт при переводе в json
4 сообщений из 4, страница 1 из 1
Некорректно конвертирует русский шрифт при переводе в json
    #39947238
NatM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть возможность, посоветуйте, пожалуйста, что можно изменить в коде, чтобы при конвертации в json корректно отображался русский шрифт.

Русский шрифт конвертируется вот так: "displayname": "\u041Dаи\u043Cе\u043D\u043Eва\u043­Dие / ФИ\u041E". Это представление символов кириллицы в Unicode.
А надо: "displayname": "Наименование / ФИО".

Стандартный метод ConvertToJson менять не хочется, поскольку это влечет другие проблемы.
Предполагала использовать конструкцию StrConv(Temp, vbFromUnicode), но не получается пока.


Код - в файле Книга2.
json - в jsonExample.
...
Рейтинг: 0 / 0
Некорректно конвертирует русский шрифт при переводе в json
    #39947240
NatM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, как приложить второй файл. Вот он.
...
Рейтинг: 0 / 0
Некорректно конвертирует русский шрифт при переводе в json
    #39948482
NatM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне удалось решить проблему. Закрываю тему.
...
Рейтинг: 0 / 0
Некорректно конвертирует русский шрифт при переводе в json
    #39949577
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все же иногда полезно давать в итоге ответ.

Для моего применения хватило следующего кода:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Public Function DeCodeJson(ByVal txt As String) As String
    Static oREGEXP As VBScript_RegExp_55.RegExp
    
    Dim oMatches As VBScript_RegExp_55.MatchCollection
    Dim m As Object
    Dim coll As New Collection
    Dim item As Variant
    Dim char As String
    
    On Error Resume Next
    If oREGEXP Is Nothing Then Set oREGEXP = CreateObject("VBScript.RegExp"): oREGEXP.Global = True
    oREGEXP.Pattern = "\\u[A-Fa-f0-9]{4}"
 
    If oREGEXP.Test(txt) Then
        Set oMatches = oREGEXP.Execute(txt)
        For Each m In oMatches
            coll.Add m.Value, CStr(m.Value)
        Next
    End If
 
    For Each item In coll
        char = ChrW(Val(Replace(item, "\u", "&h")))
        txt = Replace(txt, item, char)
    Next
 
    For Each item In Array("""", "/")
        txt = Replace(txt, "\" & item, item)
    Next
    txt = Replace(txt, "\n", vbNewLine)
    DeCodeJson = Replace(Replace(txt, "\\", "\"), "<br>", vbCrLf)
End Function
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Некорректно конвертирует русский шрифт при переводе в json
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]