@@ -5,16 +5,29 @@ namespace ServiceStack.Text.Tests
55 [ TestFixture ]
66 public class JsonObjectTests : TestBase
77 {
8- private const string JsonCentroid = @"{""place"":{ ""woeid"":12345, ""placeTypeName"":""St\\ate "" } }" ;
8+ private const string JsonCentroid = @"{""place"":{ ""woeid"":12345, ""placeTypeName"":""St\\a\/te "" } }" ;
99
1010 [ Test ]
1111 public void Can_dynamically_parse_JSON_with_escape_chars ( )
1212 {
1313 var placeTypeName = JsonObject . Parse ( JsonCentroid ) . Object ( "place" ) . Get ( "placeTypeName" ) ;
14- Assert . That ( placeTypeName , Is . EqualTo ( "St\\ ate " ) ) ;
14+ Assert . That ( placeTypeName , Is . EqualTo ( "St\\ a/te " ) ) ;
1515
1616 placeTypeName = JsonObject . Parse ( JsonCentroid ) . Object ( "place" ) . Get < string > ( "placeTypeName" ) ;
17- Assert . That ( placeTypeName , Is . EqualTo ( "St\\ ate" ) ) ;
17+ Assert . That ( placeTypeName , Is . EqualTo ( "St\\ a/te" ) ) ;
18+ }
19+
20+ private const string JsonEscapedByteArray = @"{""universalId"":""09o4bFTeBq3hTKhoJVCkzSLRG\/o1SktTPqxgZ3L3Xss=""}" ;
21+
22+ [ Test ]
23+ public void Can_dynamically_parse_JSON_with_escape_byte_array ( )
24+ {
25+ var parsed = JsonObject . Parse ( JsonEscapedByteArray ) . Get < byte [ ] > ( "universalId" ) ;
26+ Assert . That ( parsed , Is . EqualTo ( new byte [ ] {
27+ 0xd3 , 0xda , 0x38 , 0x6c , 0x54 , 0xde , 0x06 , 0xad ,
28+ 0xe1 , 0x4c , 0xa8 , 0x68 , 0x25 , 0x50 , 0xa4 , 0xcd ,
29+ 0x22 , 0xd1 , 0x1b , 0xfa , 0x35 , 0x4a , 0x4b , 0x53 ,
30+ 0x3e , 0xac , 0x60 , 0x67 , 0x72 , 0xf7 , 0x5e , 0xcb } ) ) ;
1831 }
1932
2033 [ Test ]
0 commit comments