利用C# 將JSON字串變成物件變數 並且列印出左有元素名稱

利用C# 將JSON字串變成物件變數 並且列印出左有元素名稱

利用C# 將JSON字串變成物件變數 並且列印出左有元素名稱


資料來源: chatgpt


C#線上編譯器: https://dotnetfiddle.net/


code

using System;
using System.Text.Json;

class Program
{
    static void Main()
    {
        string json = @"
        {
            ""l1"": {
                ""l1_1"": [
                    ""l1_1_1"",
                    ""l1_1_2""
                ],
                ""l1_2"": {
                    ""l1_2_1"": 121
                }
            },
            ""l2"": {
                ""l2_1"": null,
                ""l2_2"": true,
                ""l2_3"": {}
            }
        }";

        using JsonDocument doc = JsonDocument.Parse(json);
        JsonElement root = doc.RootElement;

        PrintElementNames(root, "");
    }

    static void PrintElementNames(JsonElement element, string indent)
    {
        switch (element.ValueKind)
        {
            case JsonValueKind.Object:
                foreach (JsonProperty property in element.EnumerateObject())
                {
                    Console.WriteLine($"{indent}{property.Name}");
                    PrintElementNames(property.Value, indent + "  ");
                }
                break;

            case JsonValueKind.Array:
                foreach (JsonElement item in element.EnumerateArray())
                {
                    PrintElementNames(item, indent + "  ");
                }
                break;

            default:
                // 基本類型(字串、數字、布林、null),不處理值,只列印結構
                break;
        }
    }
}

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *