From 02a978b53bc2b03046d40f128d5ca3acd067358c Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 26 Sep 2013 13:33:31 -0400 Subject: [PATCH] JsonDeserialize : int to bool --- RestSharp.Tests/JsonTests.cs | 13 +++++++++++++ RestSharp/Deserializers/JsonDeserializer.cs | 6 +----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/RestSharp.Tests/JsonTests.cs b/RestSharp.Tests/JsonTests.cs index 9e3b177c7..17ee699e1 100644 --- a/RestSharp.Tests/JsonTests.cs +++ b/RestSharp.Tests/JsonTests.cs @@ -313,6 +313,19 @@ public void Can_Deserialize_Quoted_Primitive() Assert.Equal(28, p.Age); } + [Fact] + public void Can_Deserialize_Int_to_Bool() + { + var doc = new JsonObject(); + doc["IsCool"] = 1; + + var d = new JsonDeserializer(); + var response = new RestResponse { Content = doc.ToString() }; + var p = d.Deserialize(response); + + Assert.True(p.IsCool); + } + [Fact] public void Can_Deserialize_With_Default_Root() { diff --git a/RestSharp/Deserializers/JsonDeserializer.cs b/RestSharp/Deserializers/JsonDeserializer.cs index 0f013bbc0..3c15305c6 100644 --- a/RestSharp/Deserializers/JsonDeserializer.cs +++ b/RestSharp/Deserializers/JsonDeserializer.cs @@ -172,11 +172,7 @@ private object ConvertValue(Type type, object value) if (type.IsPrimitive) { - // no primitives can contain quotes so we can safely remove them - // allows converting a json value like {"index": "1"} to an int - var tmpVal = stringValue.Replace("\"", string.Empty); - - return tmpVal.ChangeType(type, Culture); + return value.ChangeType(type, Culture); } else if (type.IsEnum) {