Я использую новый объект NotesJSONNavigator для анализа ответа стороннего API.Ответы, которые я наблюдаю, выглядят хорошо отформатированными (JSON), но мой код выдает некоторые странные результаты.
Я сузил его до значений JSON, которые были представлены пустыми строками.В этих случаях «значение», полученное из JSON, является непредсказуемым и случайным (системные символы).
Я подготовил образец строки тестового пакета JSON и могу надежно воспроизвести результаты, используя приведенную ниже логику ...здесь чего-то не хватает?
response$ = |{"resultcode":200,"result":[{"id":41,"eMail Address":"test@abc.com"},{"id":57,"eMail Address":""}]}|
Set jsonNav = session.CreateJSONNavigator( response$ )
Set jsonEl = jsonNav.GetElementByName( "result" )
Set jsonArr = jsonEl.Value
Set listEl = jsonArr.GetFirstElement()
Do While Not( listEl Is Nothing )
Set jsonObj = listEl.Value
checkEmail = jsonObj.GetElementByName( "eMail Address" ).Value
Set listEl = jsonArr.GetNextElement()
Loop
Пока в разделе «Адрес электронной почты» есть данные, все анализируется нормально.Если эти данные являются пустой строкой (как для идентификатора 57 выше), переменная checkEmail установлена на очень странные символы и НЕ является пустой!