{ “hello“: 123, “world“: “foo“ }
is the same as
{ “world“: “foo“, “hello“: 123 }
If these two were semantically different, writing deserializer would be easier and more efficient, since you can simply expect the next tokens to represent the currently visited class member, or error.
Otherwise you need to construct an object tree and look up its properties by name / hash.