public void ReadAsCollection_ObjectArray() { JArray values = new JArray(); for (int i = 1; i <= 3; i++) { JObject jsonObject = new JObject { { "prop1", "value1" }, { "prop2", true }, { "prop3", 123 } }; values.Add(jsonObject); } string json = values.ToString(); byte[] bytes = Encoding.UTF8.GetBytes(json); MemoryStream ms = new MemoryStream(bytes); var result = FunctionBinding.ReadAsCollection(ms).Cast <JObject>().ToArray(); Assert.Equal(3, result.Length); for (int i = 0; i < 3; i++) { JObject jsonObject = (JObject)result[i]; Assert.Equal("value1", (string)jsonObject["prop1"]); Assert.Equal(true, (bool)jsonObject["prop2"]); Assert.Equal(123, (int)jsonObject["prop3"]); } }
public void ReadAsCollection_StringArray_WithBOM() { JArray values = new JArray(); values.Add("Value1"); values.Add("Value2"); values.Add("Value3"); // add the BOM character to the string var json = "\xFEFF" + values.ToString() + "\r\n"; MemoryStream ms = new MemoryStream(); StreamWriter writer = new StreamWriter(ms); writer.Write(json); writer.Flush(); ms.Position = 0; var collection = FunctionBinding.ReadAsCollection(ms).Cast <JValue>().ToArray(); Assert.Equal(3, collection.Length); Assert.Equal("Value1", (string)collection[0]); Assert.Equal("Value2", (string)collection[1]); Assert.Equal("Value3", (string)collection[2]); }
public void ReadAsCollection_StringSingleton() { byte[] bytes = Encoding.UTF8.GetBytes("Value1"); MemoryStream ms = new MemoryStream(bytes); var collection = FunctionBinding.ReadAsCollection(ms).Cast <string>().ToArray(); Assert.Equal(1, collection.Length); Assert.Equal("Value1", (string)collection[0]); }
public void ReadAsCollection_StringArray() { JArray values = new JArray(); values.Add("Value1"); values.Add("Value2"); values.Add("Value3"); string json = values.ToString(); byte[] bytes = Encoding.UTF8.GetBytes(json); MemoryStream ms = new MemoryStream(bytes); var collection = FunctionBinding.ReadAsCollection(ms).Cast <JValue>().ToArray(); Assert.Equal(3, collection.Length); Assert.Equal("Value1", (string)collection[0]); Assert.Equal("Value2", (string)collection[1]); Assert.Equal("Value3", (string)collection[2]); }
public void ReadAsCollection_ObjectSingleton() { JObject jsonObject = new JObject { { "prop1", "value1" }, { "prop2", true }, { "prop3", 123 } }; string json = jsonObject.ToString(); byte[] bytes = Encoding.UTF8.GetBytes(json); MemoryStream ms = new MemoryStream(bytes); var result = FunctionBinding.ReadAsCollection(ms).Cast <JObject>().ToArray(); Assert.Equal(1, result.Length); jsonObject = (JObject)result[0]; Assert.Equal("value1", (string)jsonObject["prop1"]); Assert.Equal(true, (bool)jsonObject["prop2"]); Assert.Equal(123, (int)jsonObject["prop3"]); }