The second case statement crashes with "loMember not found". Changing that to loValue works. This is v5.65.
~bob
PROTECTEDFUNCTION ParseArrayJson(loObject)LOCAL loResult, loMembers, loMember, lnCount, lnX, lvValue, ; loCollection, loValue, loValues loCollection = CREATEOBJECT("Collection") loValues = this.oBridge.InvokeMethod(loObject,"GetValues") lnCount = loValues.CountFOR lnX = 0 TO lnCount-1 loValue = loValues.Item(lnX) lvValue = nullDOCASECASE loValue.Type = "O" lvValue = THIS.ParseObjectJson(loValue)CASE loMember.Type = "A" lvValue = THIS.ParseArrayJson(loValue)OTHERWISE lvValue = this.ParseValueJson(loValue)ENDCASE loCollection.Add(lvValue)ENDFORRETURN loCollectionENDFUNC