We can use a single stack for nested objects and arrays. There is also no need to track the current object and array separately. This allows us to remove the array special case when assigning a value.
The JSON version includes more information than the original "log" file in the I/O log dir.