У меня есть данные json, которые я хочу использовать в библиотеке lotusscript.Я использую NotesJsonNavigator для навигации по данным.Если я установил предпочитаемое значение falseUTF8 в значение false, значения в NotesJSONElements являются строками, однако при этом пропускаются международные символы, такие как ö, å, ...
Если я установил параметр предпочитаемое значениеUTUTF8 в значение true, значения в моих NotesJSONElements будут байтовыми массивами.,Как я могу преобразовать эти байтовые массивы в строки, принимая во внимание международные символы?
Пример:
Dim session As New NotesSession
'URL Parameters have to be UTF-8 encoded.
Dim url As string
URL = "https://maps.googleapis.com/maps/api/geocode/json?address=Malm%C3%B6%2C%20Sweden&key=<My Google API Key>"
'Creating the request
Dim webRequest As NotesHTTPRequest
Dim response As Variant
Set webRequest = session.createhttprequest()
'Get response as byte array
webrequest.preferstrings = False
response = webrequest.Get(URL)
'Throw error if response status is not OK
If InStr(webRequest.Responsecode, "200 OK") = 0 Then
'Return Status is not OK
Error 1000, "Request returned response code " + webRequest.responseCode
End If
'Create the JSON NAVIGATOR
Dim jsnav As NotesJSONNavigator
If Not IsArray(response) Then Error 1000, "JSON is nothing"
Set jsnav = session.CreateJSONNavigator(response)
'Get data as Strings
jsnav.Preferutf8 = False
'Declaring json specific elements
Dim el_address As NotesJSONElement
Dim el_state As NotesJSONElement
'Retrieving the address...
Set el_address = jsnav.getelementbypointer("/results/0/formatted_address")
Print el_address.value
'Retrieving state
Set el_state = jsnav.getelementbypointer("/results/0/address_components/1/long_name")
Print el_state.value
Это печатает
Мальм, Швеция
Skne