BrightScript Debugger> ? formatJSON( "1,2,3,4".tokenize(",") )
BRIGHTSCRIPT: ERROR: FormatJSON: Value type not supported: roList
BrightScript Debugger> ? formatJSON( createObject("roFileSystem").GetDirectoryListing("pkg:/") )
BRIGHTSCRIPT: ERROR: FormatJSON: Value type not supported: roList
BrightScript Debugger> ? formatJSON( createObject("roRegistry").getSectionList() )
BRIGHTSCRIPT: ERROR: FormatJSON: Value type not supported: roList
Umm… wat? Multiple B/S APIs return roList and not roArray, for whatever hstrical reason. formatJSON() should not be picky between roList and roArray.
I agree that FormatJson should handle roLists the same as it does roArrays. However, I wouldn’t call it a “buglet”, since it states in the BrightScript Reference that “Data types supported are booleans, integer and floating point numbers, strings, roArray, and roAssociativeArray objects”; there’s no mention of roList. However, the documentation is rather misleading as the first sentence states: “Formats an Associative Array as a JSON string”. Yes, that’s true, but it also formats arrays and primitive objects, not just associative arrays.
Other than me and you @belltown , there probably are somewhere between 3 and 5 other people outside RokuCo that know and care about the difference between “roArray” and “roList”. And i still don’t know the reason to differentiate between these two - if Lua can make-do with only 1 type (“table”) for both lists/arrays and hash-dictionaries - why can’t B/S settle on only and { }? Perhaps for hstrical reasons but a good number of APIs return roList instead of roArray.
So from a pragmatic point of view, un-handling of roList is a shortfall of formatJSON - even if by documents it could not be “convicted” of a bug. roList looks like a duck, quacks like a duck… it should formatJSON as a duck.
Regarding the partial documentation as “Formats an Associative Array as a JSON string” - that’s a leftover from two years ago when formatJSON() was accepting only { } at top level and was crashing the player with cyclic structures, cue viewtopic.php?f=34&t=66765#p429036