String::shared() is a better name.
Remove unused.
Json::array() is a better name for this.

Then Json::make_array(size_type) can eventually doa  fill construct.
Correct and use Json scan protocol.

Keys aren't stable!