diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs index 8b0112b5..f307d304 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs @@ -328,5 +328,22 @@ namespace Newtonsoft.Json.Tests reader.Read(); Assert.AreEqual(JsonToken.EndArray, reader.TokenType); } + + [Test] + public void EscapedUnicodeText() + { + string json = @"[""\u003c""]"; + + JsonTextReader reader = new JsonTextReader(new StringReader(json)); + + reader.Read(); + Assert.AreEqual(JsonToken.StartArray, reader.TokenType); + + reader.Read(); + Assert.AreEqual("<", reader.Value); + + reader.Read(); + Assert.AreEqual(JsonToken.EndArray, reader.TokenType); + } } } \ No newline at end of file diff --git a/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs b/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs index c0b5ab10..fe42106f 100644 --- a/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs +++ b/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs @@ -473,7 +473,7 @@ namespace Newtonsoft.Json.Utilities // for some reason .NET returns multiple members when overriding a generic member on a base class // http://forums.msdn.microsoft.com/en-US/netfxbcl/thread/b5abbfee-e292-4a64-8907-4e3f0fb90cd9/ - // filter members to only return the overriden member on the topmost class + // filter members to only return the override on the topmost class List distinctMembers = new List(targetMembers.Count); var groupedMembers = targetMembers.GroupBy(m => m.Name).Select(g => new { Count = g.Count(), Members = g.Cast() });