Код: Выделить всё
using System.Dynamic;
using System.Text.Json;
namespace JsonArraySerialisationTest
{
internal class Program
{
static void Main()
{
// create test items to be serialised
const int itemCount = 2;
List items = new List();
for (int i = 0; i < itemCount; ++i)
{
dynamic item = new ExpandoObject();
item.prop1 = i;
item.prop2 = (char)('a' + i);
items.Add(item);
}
string outputJson;
using (MemoryStream outputStream = new MemoryStream())
{
JsonWriterOptions writeArrayOptions = new JsonWriterOptions()
{
Indented = true,
};
JsonSerializerOptions writeItemOptions = new JsonSerializerOptions()
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
WriteIndented = false,
};
// write items
using (Utf8JsonWriter jw = new Utf8JsonWriter(outputStream, writeArrayOptions))
{
jw.WriteStartArray();
foreach (ExpandoObject item in items)
{
JsonSerializer.Serialize(jw, item, writeItemOptions);
}
jw.WriteEndArray();
}
// read json string
outputStream.Position = 0;
using (StreamReader sr = new StreamReader(outputStream, leaveOpen: true))
{
outputJson = sr.ReadToEnd();
}
}
Console.WriteLine(outputJson);
}
}
}
Код: Выделить всё
[
{
"prop1": 0,
"prop2": "a"
},
{
"prop1": 1,
"prop2": "b"
}
]
Код: Выделить всё
[{"prop1":0,"prop2":"a"},{"prop1":1,"prop2":"b"}
]
Код: Выделить всё
[
{"prop1":0,"prop2":"a"},
{"prop1":1,"prop2":"b"}
]
Подробнее здесь: https://stackoverflow.com/questions/785 ... rray-items
Мобильная версия