Closed JonatasArcode closed 3 years ago
Hmm, good catch! I'll look into those settings this weekend and see what's going on.
This was one of those easy to fix, stupid to miss bugs. When checking a cell to see if it should be split into an array, I assumed that the value would always be a string, but it can be an object or array when exporting cell objects. This is now fixed and will roll out with the v62 release.
nice! thanks a lot for that addon, and fast fixing the bug
Bug description
When both the "Export cell arrays" and "Export cell object" features are turned on, and there's some cell with a JSON array/object, the addon get stuck, and doesn't compile Even if "Array separator character" is set to something different than default (
,
)To Reproduce
Make a sheet
Add a labels row
In a content row, add a cell whit some JSON array in it (ex:
["my", "array"]
)On addon side panel anable JSON -> Export cell arrays
On addon side panel anable Advanced JSON -> Export cell object
[optional] Change Advanced JSON -> Array separator character value to something other than
,
(ex:;
)Export
See error: "Compiling JSON" popup won't stop loading
Expected behavior Expected "Export cell object" have precedence, so if the cell does start with "[" it is parsed out, if does not start with it, "Export cell arrays" takes places and evaluate if there's commas (or whatever it set) to split it as array
A more platical example:
change "Array separator character" to
;
create the row (for any labels)| my, simple, list | ["JSON", "list"] |
Expected:
{"label1": ["my, "simple", "list"], "label2":["JSON", "list"]}
Info (please complete the following information):
Additional context It does work with objects though
| my, simple, list | {"JSON": "list"} |
does compile:
{"label1": ["my, "simple", "list"], "label2":{"JSON": "list"}}