public void Should_read_two_pairs_in_json() { string text = @"{""key1"":""value1"",""key2"":""value2""},"; JsonBufferedReader reader = new JsonBufferedReader(); NameValueCollection result = null; foreach (char symbol in text) { if (reader.Read(symbol)) { result = reader.PopEntry(); } } Assert.NotNull(result); Assert.Equal(2, result.Count); Assert.Equal("value1", result["key1"]); Assert.Equal("value2", result["key2"]); }
public void Should_read_json_values_with_curly_brackets() { string text = @"{""key1"":""{value1}"",""key2"":""}value2{""},{""key3"":""{v},{alue3}"",""key4"":""}}{value4}""},"; JsonBufferedReader reader = new JsonBufferedReader(); var entries = new List<NameValueCollection>(); foreach (char symbol in text) { if (reader.Read(symbol)) { var entry = reader.PopEntry(); entries.Add(entry); } } Assert.Equal(2, entries.Count); Assert.Equal(2, entries[0].Count); Assert.Equal(2, entries[1].Count); Assert.Equal("{value1}", entries[0]["key1"]); Assert.Equal("}value2{", entries[0]["key2"]); Assert.Equal("{v},{alue3}", entries[1]["key3"]); Assert.Equal("}}{value4}", entries[1]["key4"]); }
public void Should_read_several_json_objects() { string text = @"{""key1"":""value1"",""key2"":""value2""},{""key3"":""value3"",""key4"":""value4""},"; JsonBufferedReader reader = new JsonBufferedReader(); var entries = new List<NameValueCollection>(); foreach (char symbol in text) { if (reader.Read(symbol)) { var entry = reader.PopEntry(); entries.Add(entry); } } Assert.Equal(2, entries.Count); Assert.Equal(2, entries[0].Count); Assert.Equal(2, entries[1].Count); Assert.Equal("value1", entries[0]["key1"]); Assert.Equal("value2", entries[0]["key2"]); Assert.Equal("value3", entries[1]["key3"]); Assert.Equal("value4", entries[1]["key4"]); }
public void Should_read_json_values_with_double_quotation() { string text = "{\"key1\":\"\\\"value1\\\"\",\"\\\"key2\\\"\":\"\\\"value2\\\"\"},"; JsonBufferedReader reader = new JsonBufferedReader(); var entries = new List<NameValueCollection>(); foreach (char symbol in text) { if (reader.Read(symbol)) { var entry = reader.PopEntry(); entries.Add(entry); } } Assert.Equal(1, entries.Count); Assert.Equal(2, entries[0].Count); Assert.Equal("\\\"value1\\\"", entries[0]["key1"]); Assert.Equal("\\\"value2\\\"", entries[0]["\\\"key2\\\""]); }