using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
public class Program
{
public static void Main()
{
string jsonString = @"{
""name"": ""John Doe"",
""age"": 30,
""isMarried"": true,
""children"": [
{ ""name"": ""Jane"", ""age"": 10 },
{ ""name"": ""Jake"", ""age"": 8 }
],
""address"": {
""street"": ""123 Main St"",
""city"": ""Anytown"",
""state"": ""CA""
}
}";
// Парсинг JSON в JsonDocument
using (JsonDocument doc = JsonDocument.Parse(jsonString))
{
JsonElement root = doc.RootElement;
// Пример доступа к данным
string name = root.GetProperty("name").GetString();
int age = root.GetProperty("age").GetInt32();
bool isMarried = root.GetProperty("isMarried").GetBoolean();
Console.WriteLine($"Name: {name}");
Console.WriteLine($"Age: {age}");
Console.WriteLine($"Married: {isMarried}");
// Работа с массивом
JsonElement children = root.GetProperty("children");
foreach (JsonElement child in children.EnumerateArray())
{
string childName = child.GetProperty("name").GetString();
int childAge = child.GetProperty("age").GetInt32();
Console.WriteLine($"Child Name: {childName}, Age: {childAge}");
}
// Работа с вложенным объектом
JsonElement address = root.GetProperty("address");
string street = address.GetProperty("street").GetString();
string city = address.GetProperty("city").GetString();
string state = address.GetProperty("state").GetString();
Console.WriteLine($"Address: {street}, {city}, {state}");
}
}
}