NotesJSONNavigator在解析具有空字符串值的包时遇到严重问题

时间:2019-04-05 04:00:01

标签: lotusscript

我正在使用新的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

只要“电子邮件地址”部分中有数据,一切都可以解析。如果该数据是一个空字符串(如上面的ID 57),则checkEmail变量设置为一些非常奇怪的字符,并且不能为空!

1 个答案:

答案 0 :(得分:0)

感谢举报特里,我可以确认这是一个问题,并打开了一个缺陷DCONBB2KNR。