这与其他帖子类似,但我的变化是我的json对象从一个数组数组开始,我无法反序列化。
class Program
{
static void Main(string[] args)
{
var json = @"[[{""f1"":1, ""f2"":2}]]";
var obj = JsonConvert.DeserializeObject<RootObject[]>(json);
}
}
public class RootObject
{
public List<InnerObject> InnerObjects { get; set; }
}
public class InnerObject
{
public int f1 { get; set; }
public int f2 { get; set; }
}
我也试过
JsonConvert.DeserializeObject<List<RootObject>>(json);
以及其他各种变化。异常文本开始&#34;无法将当前JSON数组(例如[1,2,3])反序列化为类型&#39; jsontest.RootObject&#39;因为类型需要一个JSON对象(例如{&#34; name&#34;:&#34; value&#34;})才能正确反序列化。&#34;
答案 0 :(得分:1)
您的JSON对应List<List<InnerObject>>
而不是RootObject[]
。 (对于后者,JSON需要如下所示:[{ "InnerObjects" : [{"f1": 1, "f2": 2}] }]
)。
尝试反序列化:
var list = JsonConvert.DeserializeObject<List<List<InnerObject>>>(json);