.FromJson is deserializing strings as Booleans

This is serialized (using ServiceStack.Text), the “value” property is a string
{
“Name”: “details”,
“Value”: “true”,
“Type”: 5,
“ContentType”: null
}

And being deserialized back into a Dictionary<string,object> and then serialized again as
{
“Name”: “details”,
“Value”: true,
“Type”: 5,
“ContentType”: null
}

Is there a JSConfig option that will resolve this? I do not have control over this particular target DTO it is a third party.

Use the real type e.g. instead of object where value inference would need to be used.

If this is adhoc JSON you can deserialize using JSON.parse() which preserves the JSON type that’s sent on the wire.

The way I read the RFC… quotes in the token wouldn’t equate to the literal for true or false. I believe this is also changed behavior at some point or some different configuration in 5.x as I have two apps behaving differently here.

ServiceStack.Text is a typed serializer which always serializers in the target type so you should deserialize it into typed POCOs not unknown object types, if you want to parse adhoc JSON use JSON.parse() which preserves JSON type as it doesn’t deserialize it into a typed POCO, recent versions of ServiceStack does utilize JSON.parse() for some untyped collections.