C# 获取未知结构的JSON对象的属性值

C# 获取未知结构的JSON对象的属性值

编码文章call10242025-06-23 14:50:094A+A-

要在C#中获取未知结构的JSON对象的属性值

您可以使用Newtonsoft.Json库中的JObject类和递归方法。

递归方法允许您在不知道JSON对象结构的情况下遍历和获取属性值。

以下是一个示例代码,演示如何递归地获取未知结构的JSON对象的属性值:

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;

namespace DynamicJsonExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string json = "{\"name\": \"John\", \"age\": 30, \"city\": \"New York\", \"address\": {\"street\": \"123 Main St\", \"zip\": \"12345\"}}";

            // 解析JSON字符串为JObject对象
            JObject jsonObject = JObject.Parse(json);

            // 获取属性值
            GetPropertyValues(jsonObject);

            Console.ReadLine();
        }

        static void GetPropertyValues(JObject jsonObject)
        {
            foreach (var property in jsonObject.Properties())
            {
                if (property.Value.Type == JTokenType.Object)
                {
                    // 如果属性值是一个对象,则递归调用该方法
                    GetPropertyValues((JObject)property.Value);
                }
                else
                {
                    // 获取属性值并打印
                    Console.WriteLine(property.Name + ": " + property.Value.ToString());
                }
            }
        }
    }
}

在这个示例中,我们首先将JSON字符串解析为JObject对象。

然后,我们使用递归方法GetPropertyValues来遍历JSON对象的属性。

如果属性值是一个对象,则递归调用该方法。

否则,我们获取属性值并打印。

这种方法允许您处理未知结构的JSON对象,并获取其属性值,而不需要事先知道JSON对象的结构。

希望这个示例对您有帮助!

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4