Сериализация массива в JSON-строку - C#

Узнай цену своей работы

Формулировка задачи:

Мне необходимо сериализовать массив в JSON-строку. Используя данный код -
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;
    }
я получаю JSON-строку данного вида:
[
    {"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"
            ]
        }
    }
]
Как можно сериализовать массив в JSON-строку, чтобы она выглядела подобным образом(имеется ввиду, чтобы было название массива, как "friends" в примере, и затем - перечисление элементов этого массива)
{
   "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; }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5