Why is FJsonObject only available as a shared pointer?

I mean FJsonSerializer::Deserialize() only takes TSharedPtr as a argument.
If I wanted to have a wrapper class to FJsonObject who is the only owner of the object, using TSharedPtr would make little sense.