On Monday, 1 August 2022 at 04:24:41 UTC, ikelaiah wrote:
Hi,

I've written a cli tool to merge JSON files (containing JSON array) in the current folder as a single JSON file.

My algorithm:

1. Create a string to store the output JSON array as a string,
2. read each file
3. read each object in JSON array from input file
4. append the string representation of each JSON object in a string
5. Parse the result string as JSON
6. Save string representation of point 6 above.

If the JSON files are already parsed, why you stringify and reparse it? The assign operator of JSONValue allows it to use it as associative or plain array (JSON object / JSON array). Each member of such an array is of the same type: JSONValue. So to merge an array into another, you can simply iterate over its members and assign it into to a target array. To initialize as such just use `jsonResult.array = [];`

A plain array should be also mergeable via `jsonResult.array ~= j.array` (if `j` really is an array, you need to check the type first)

Reply via email to