八月没有晚山茶 2023-10-18 16:45 采纳率: 57.4%
浏览 13
已结题

c#将json字符串转含有list的对象

{ "animals":"a", "dog": {"name":1,"breed":2,"count":1} }

img

如图所示的json字符串,转为对象的时候,红线所标注的内容都存为list
public class A { public string name { get; set;} public int value { get; set;} }
这样的改怎么转化呢?

  • 写回答

1条回答 默认 最新

  • Leodong. 2023-10-18 16:50
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
    要将JSON字符串转换为包含列表的对象,您可以使用System.Text.Json命名空间中的JsonSerializer类来实现。首先,您需要定义与JSON字符串相对应的类结构。根据您提供的示例,可以如下定义类结构:

    public class Dog
    {
        public string name { get; set; }
        public int breed { get; set; }
        public int count { get; set; }
    }
    
    public class A
    {
        public List<string> animals { get; set; }
        public List<Dog> dog { get; set; }
    }
    

    然后,您可以使用JsonSerializer.Deserialize<T>方法将JSON字符串转换为对象。下面是一个示例代码片段:

    using System;
    using System.Collections.Generic;
    using System.Text.Json;
    
    public class Program
    {
        public static void Main()
        {
            string jsonString = @"{ ""animals"":""a"", ""dog"": [{""name"":1,""breed"":2,""count"":1}] }";
            A obj = JsonSerializer.Deserialize<A>(jsonString);
            
            Console.WriteLine(obj.animals[0]); // 输出: a
            Console.WriteLine(obj.dog[0].name); // 输出: 1
            Console.WriteLine(obj.dog[0].breed); // 输出: 2
            Console.WriteLine(obj.dog[0].count); // 输出: 1
        }
    }
    

    在上述示例中,我们首先定义了DogA类,其中A类包含了一个List<string>类型的animals属性和一个List<Dog>类型的dog属性。然后,我们使用JsonSerializer.Deserialize<T>方法将JSON字符串jsonString转换为A对象obj。您可以根据需要访问列表中的元素,并使用对象的属性进行操作。

    请注意,这里的示例假设您正在使用.NET Core 3.0或更高版本,因为System.Text.Json命名空间是在.NET Core 3.0中引入的。如果您使用的是较早版本的.NET Framework,请考虑使用第三方的JSON库,例如Newtonsoft.Json(也称为Json.NET)。


    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月1日
  • 创建了问题 10月18日

悬赏问题

  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊