Howto C#DeserializeObject,变量名是多少?

som*_*lse 0 c# serialization json json-deserialization

如何反序列化以下内容.问题是变量名是一个数字.那么应该如何定义MyClass呢?

json_str:
{"23521952": {"b": [], "o": []}, "23521953": {"b": [], "o": []}}

class MyClass {     //? };

var var = JsonConvert.DeserializeObject<MyClass>(json_str);
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 5

这听起来像外部对象实际上是一个字典:

using System.Collections.Generic;
using Newtonsoft.Json;

class Foo
{
    // no clue what b+o look like from the question; modify to suit
    public int[] b { get; set; }
    public string[] o { get; set; }
}
static class P
{
    static void Main()
    {
        var json = @"{""23521952"": {""b"": [], ""o"": []}, ""23521953"": {""b"": [], ""o"": []}}";
        var obj = JsonConvert.DeserializeObject<Dictionary<string, Foo>>(json);
        foreach(var pair in obj)
        {
            System.Console.WriteLine($"{pair.Key}, {pair.Value}");
        }

    }
}
Run Code Online (Sandbox Code Playgroud)