public void WriteJson() { JsonObject o = JsonObject.Parse(@"{ ""CPU"": ""Intel"", ""Drives"": [ ""DVD read/writer"", ""500 gigabyte hard drive"" ] }"); StringWriter sw = new StringWriter(); JsonTextWriter writer = new JsonTextWriter(sw); JsonValueConverter converter = new JsonValueConverter(); converter.WriteJson(writer, o, null); string json = sw.ToString(); Assert.AreEqual(@"{""Drives"":[""DVD read/writer"",""500 gigabyte hard drive""],""CPU"":""Intel""}", json); }
public void ReadJson() { string json = @"{ ""CPU"": ""Intel"", ""Drives"": [ ""DVD read/writer"", ""500 gigabyte hard drive"" ] }"; JsonTextReader writer = new JsonTextReader(new StringReader(json)); JsonValueConverter converter = new JsonValueConverter(); JsonObject o = (JsonObject)converter.ReadJson(writer, typeof(JsonObject), null, null); Assert.AreEqual(2, o.Count); Assert.AreEqual("Intel", o.GetNamedString("CPU")); Assert.AreEqual("DVD read/writer", o.GetNamedArray("Drives")[0].GetString()); Assert.AreEqual("500 gigabyte hard drive", o.GetNamedArray("Drives")[1].GetString()); }
public void ReadJsonBadJsonType() { string json = "null"; JsonTextReader writer = new JsonTextReader(new StringReader(json)); JsonValueConverter converter = new JsonValueConverter(); ExceptionAssert.Throws<JsonException>("Could not convert 'Windows.Data.Json.JsonValue' to 'Windows.Data.Json.JsonObject'. Path '', line 1, position 4.", () => { converter.ReadJson(writer, typeof(JsonObject), null, null); }); }
public void ReadJsonUnexpectedEndInObject() { string json = "{'hi':"; JsonTextReader writer = new JsonTextReader(new StringReader(json)); JsonValueConverter converter = new JsonValueConverter(); ExceptionAssert.Throws<JsonException>("Unexpected end. Path 'hi', line 1, position 6.", () => { converter.ReadJson(writer, typeof(JsonValue), null, null); }); }
public void ReadJsonUnexpectedEndAfterComment() { string json = "[/*comment!*/"; JsonTextReader writer = new JsonTextReader(new StringReader(json)); JsonValueConverter converter = new JsonValueConverter(); ExceptionAssert.Throws<JsonException>("Unexpected end. Path '', line 1, position 13.", () => { converter.ReadJson(writer, typeof(JsonValue), null, null); }); }
public void ReadJsonUnsupportedValue() { string json = "undefined"; JsonTextReader writer = new JsonTextReader(new StringReader(json)); JsonValueConverter converter = new JsonValueConverter(); ExceptionAssert.Throws<JsonException>("Unexpected or unsupported token: Undefined. Path '', line 1, position 9.", () => { converter.ReadJson(writer, typeof(JsonValue), null, null); }); }
public void ReadJsonNullValue() { string json = "null"; JsonTextReader writer = new JsonTextReader(new StringReader(json)); JsonValueConverter converter = new JsonValueConverter(); JsonValue v = (JsonValue)converter.ReadJson(writer, typeof(JsonValue), null, null); Assert.AreEqual(JsonValueType.Null, v.ValueType); }
public void ReadJsonUnexpectedEndInArray() { string json = "["; JsonTextReader writer = new JsonTextReader(new StringReader(json)); JsonValueConverter converter = new JsonValueConverter(); ExceptionAssert.Throws<JsonException>(() => { converter.ReadJson(writer, typeof (JsonValue), null, null); }, "Unexpected end. Path '', line 1, position 1."); }