根据JSON结构创建C#类

根据JSON结构创建C#类,c#,xamarin.forms,json.net,deserialization,json-deserialization,C#,Xamarin.forms,Json.net,Deserialization,Json Deserialization,我正在研究Xamarin表格。我创建了一个C#类来反序列化JSON。但我不知道该怎么说。即使已使用,但仍会出现以下错误: System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.NotSupportedException:在创建表时不知道System.Collections.Generic.List`的情况 这是我的JSON [{ "firstName":"X", "lastName":"Y",

我正在研究Xamarin表格。我创建了一个C#类来反序列化JSON。但我不知道该怎么说。即使已使用,但仍会出现以下错误:

System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.NotSupportedException:在创建表时不知道System.Collections.Generic.List`的情况

这是我的JSON

[{
    "firstName":"X", 
    "lastName":"Y", 
    "Ids":["1"],
    "specialIds":[],
    "options":{
        "isAccepting":false
    }
}, 
{   
    "firstName":"Z", 
    "lastName":"A", 
    "Ids":["11"], 
    "specialIds":[],
    "options":{
        "isAccepting":false}
    },
}]
这是我的C#

公共类提供程序
{
公共字符串名{get;set;}
公共字符串lastName{get;set;}
公共列表ID{get;set;}
公共列表特殊项{get;set;}
公共选项选项{get;set;}
}
公共类选项
{
公共bool正在接受{get;set;}
}
如何在C#中分配ID、特殊ID和选项?如果我只使用firstname和lastname,它工作得很好。但是如果我用其他的,我会出错。
请帮助我根据上述JSON分配此对象

您当前的Json无效,它应该如下所示:

[
  {
    "firstName": "X",
    "lastName": "Y",
    "Ids": [
      "1"
    ],
    "specialIds": [],
    "options": {
      "isAccepting": false
    }
  },
  {
    "firstName": "Z",
    "lastName": "X",
    "Ids": [
      "11"
    ],
    "specialIds": [],
    "options": {
      "isAccepting": false
    }
  }
]
public class Provider
{
    public string firstName { get; set; }
    public string lastName { get; set; }
    public IList<string> Ids { get; set; }
    public IList<string> specialIds { get; set; }
    public Options options { get; set; }
}

public class Options
{
    public bool isAccepting { get; set; }
}
如果您想要它的C#model,它将如下所示:

[
  {
    "firstName": "X",
    "lastName": "Y",
    "Ids": [
      "1"
    ],
    "specialIds": [],
    "options": {
      "isAccepting": false
    }
  },
  {
    "firstName": "Z",
    "lastName": "X",
    "Ids": [
      "11"
    ],
    "specialIds": [],
    "options": {
      "isAccepting": false
    }
  }
]
public class Provider
{
    public string firstName { get; set; }
    public string lastName { get; set; }
    public IList<string> Ids { get; set; }
    public IList<string> specialIds { get; set; }
    public Options options { get; set; }
}

public class Options
{
    public bool isAccepting { get; set; }
}
公共类提供程序
{
公共字符串名{get;set;}
公共字符串lastName{get;set;}
公共IList ID{get;set;}
公共IList SpecialId{get;set;}
公共选项选项{get;set;}
}
公共类选项
{
公共bool正在接受{get;set;}
}
如何在C#中分配ID、特殊ID和选项?如果我只使用 firstname和lastname,它工作得很好。但是如果我使用 其他人,我犯了错误。请帮助我按照分配此对象 上面提到的JSON

请记住,您并不是直接赋值,而是附加一个字符串列表项

    IList<string> items = new IList<string>();
    items.add("12");
IList items=new IList();
项目。添加(“12”);

您的JSON无效。“创建表时”
firstName
“的引号不匹配”-这听起来像是SQLite的问题,而不是JSON.firstName JSON输入错误。现在我改正了。“创建表格时”-如果我删除ID、SpecialID和选项,工作正常。为什么在那个时候它还在工作。因此,我不认为SQLite(我的建议)有问题。您还没有发布实际生成错误的代码。请您将问题包括异常的完整
ToString()
输出,包括异常类型、消息、完整回溯和内部异常(如果有)?