Сериализация массива в JSON-строку - C#
Формулировка задачи:
Мне необходимо сериализовать массив в JSON-строку. Используя данный код -
я получаю JSON-строку данного вида:
Как можно сериализовать массив в JSON-строку, чтобы она выглядела подобным образом(имеется ввиду, чтобы было название массива, как "friends" в примере, и затем - перечисление элементов этого массива)
class Program
{
static void Main(string[] args)
{
Product product1 = new Product();
product1.Name = "Apple";
product1.Expiry = new DateTime(2008, 12, 28);
product1.Sizes = new string[] { "Small", "Medium", "Big" };
MyClass mc1=new MyClass();
mc1.Prod = product1;
Product product2 = new Product();
product2.Name = "Cocos";
product2.Expiry = new DateTime(2010, 05, 15);
product2.Sizes = new string[] { "Small", "Medium", "Big" };
MyClass mc2 = new MyClass();
mc2.Prod = product2;
MyClass[] mcar = new MyClass[2];
mcar[0] = mc1;
mcar[1] = mc2;
var json = JsonConvert.SerializeObject(mcar);
Console.WriteLine(json);
Console.ReadLine();
StreamWriter file=new StreamWriter("file.txt");
file.WriteLine(json);
file.Close();
}
}
class MyClass
{
public Product Prod;
}
class Product
{
public string Name;
public DateTime Expiry;
public string[] Sizes;
}[
{"Prod":
{"Name":
"Apple",
"Expiry":
"2008-12-28T00:00:00",
"Sizes":
[
"Small",
"Medium",
"Big"
]
}
},
{"Prod":
{"Name":
"Cocos",
"Expiry":
"2010-05-15T00:00:00",
"Sizes":
[
"Small",
"Medium",
"Big"
]
}
}
]{
"friends": [
{
"id": "1",
"name": "Andrew",
"city": "Moscow",
"contacts": {
"mobile": "+7 0000000",
"email": "removed@mail.ru"
}
},
{
"id": "2",
"name": "Ivan",
"city": "Kiev",
"contacts": {
"mobile": "+38 0000000",
"email": "removed@mail.ru"
}
},
{
"id": "3",
"name": "Oleg",
"city": "Paris",
"contacts": {
"mobile": "+9 123456789",
"email": "removed@mail.ru"
}
}
]
}Решение задачи: «Сериализация массива в JSON-строку»
textual
Листинг программы
public class Contacts
{
public string mobile { get; set; }
public string email { get; set; }
}
public class Friend
{
public string id { get; set; }
public string name { get; set; }
public string city { get; set; }
public Contacts contacts { get; set; }
}
public class RootObject
{
public List<Friend> friends { get; set; }
}