Not the OP, but serializing both nil and empty arrays to the same json string means round tripping will not work for all objects.
That seems like a bad default to me.