diff --git a/Source/dwsJSONScript.pas b/Source/dwsJSONScript.pas index 101541ac..90da6614 100644 --- a/Source/dwsJSONScript.pas +++ b/Source/dwsJSONScript.pas @@ -334,7 +334,9 @@ class procedure JSONScript.StringifyComposite(exec : TdwsExecution; for i:=0 to compSym.Members.Count-1 do begin sym:=compSym.Members[i]; if sym.ClassType=TPropertySymbol then begin - propSym:=TPropertySymbol(sym); + propSym := TPropertySymbol(sym); + if propSym.HasArrayIndices then + continue; if (propSym.Visibility>=cvPublished) and (propSym.ReadSym<>nil) then sym:=propSym.ReadSym else continue; diff --git a/Test/JSONConnectorPass/stringify_class_getter.pas b/Test/JSONConnectorPass/stringify_class_getter.pas index 6c0035fd..bc673b40 100644 --- a/Test/JSONConnectorPass/stringify_class_getter.pas +++ b/Test/JSONConnectorPass/stringify_class_getter.pas @@ -22,6 +22,7 @@ TTest = class property Num : Float read (3.14); property Arr : array of String read (StrSplit('abc,de', ',')); property Sub : TSubTest; + property Indexed[i : Integer] : String read (i.ToString); end; var i := new TTest;