The JSONWriter.ToJSON() method doesn't cater for a Notes List of variant arrays. It assumes that the list members must either be scalar (i.e. single values) or Notes Objects. If a list's members are actually variant arrays then the code will attempt to process them as Notes ojbects via the BuildNotesOjbectJSON method, which will come back empty-handed.
Here's how to fix that. In the ToJSON() method, under the <strong>Elseif Islist(p_vInput) Then</strong> branch, look for the code below:</div>
Forall e In p_vInput
sReturn = sReturn & Me.Key(Listtag(e))
sReturn = sReturn & Me.BuildNotesObjectJSON(e)
End Forall
Change that code to:
Forall e In p_vInput
sReturn = sReturn & Me.Key(Listtag(e))
' MB 01/11/2013 - Need to cater for a list of variant arrays, so test for
' this. A straight test for typeName = "STRING()" doesn't work, even
' that's what the debugger shows sType's value to be. (If it's a single-value
' string then it would have been caught by the isScalar() test, further up.)
If InStr(LCase(sType), "string") > 0 Then
sReturn = sReturn & me.AppendValue(e)
Else
sReturn = sReturn & Me.BuildNotesObjectJSON(e)
End If
End Forall