-Added support for deserializing to JToken

-Improved circular reference error message with type name
This commit is contained in:
JamesNK
2010-12-01 08:03:02 +00:00
parent 2eb0d3bf48
commit 227a34ed50
4 changed files with 28 additions and 5 deletions
@@ -1322,7 +1322,7 @@ keyword such as type of business.""
}
[Test]
[ExpectedException(typeof(JsonSerializationException), ExpectedMessage = @"Self referencing loop")]
[ExpectedException(typeof(JsonSerializationException))]
public void JsonPropertyWithHandlingValues_ReferenceLoopError()
{
JsonPropertyWithHandlingValues o = new JsonPropertyWithHandlingValues();
@@ -3959,5 +3959,28 @@ keyword such as type of business.""
});
}
#endif
public class Response
{
public string Name { get; set; }
public JToken Data { get; set; }
}
[Test]
public void DeserializeJToken()
{
Response response = new Response
{
Name = "Success",
Data = new JObject(new JProperty("First", "Value1"), new JProperty("Second", "Value2"))
};
string json = JsonConvert.SerializeObject(response, Formatting.Indented);
Response deserializedResponse = JsonConvert.DeserializeObject<Response>(json);
Assert.AreEqual("Success", deserializedResponse.Name);
Assert.IsTrue(deserializedResponse.Data.DeepEquals(response.Data));
}
}
}