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

时间:2018-03-15 16:26:34

标签: c# json serialization json-deserialization

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

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

class MyClass {     //? };

var var = JsonConvert.DeserializeObject<MyClass>(json_str);

2 个答案:

答案 0 :(得分:5)

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

runtime.exec("python script.py")

答案 1 :(得分:2)

您可以对此类数据使用匿名类型反序列化,而无需为JSON属性创建类。希望它有效。

    var finalResult=JsonConvert.DeserializeAnonymousType(
            json_str,  // input
            new 
            {
              Id= 
              {
                new
                { 
                   b=new[], o=new[]
                }
              }
            }
          ); 

    foreach(var id in finalResult.Id)
    {
    console.write(id); // gives ids like 23521952
    console.write(id.b[0]) // gives first elemnt in 'b' array
    }