Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JsonConvert为列表返回null<;对象>;_C#_Json_Serialization - Fatal编程技术网

C# JsonConvert为列表返回null<;对象>;

C# JsonConvert为列表返回null<;对象>;,c#,json,serialization,C#,Json,Serialization,我使用Newtonsoft.Json序列化对象列表,serialize方法返回null。该方法是另一种(工作)方法的副本-我不确定原因可能是什么。我尝试了一些关于拥有/省略JsonProperty等的变体。拥有/没有getter和setter 使用Newtonsoft.Json包的8.0.2版(使用nuget软件包管理器和Windows 10上的Visual Studio Community 2015安装) 。。。 使用Newtonsoft.Json public class PharmacyP

我使用Newtonsoft.Json序列化对象列表,serialize方法返回null。该方法是另一种(工作)方法的副本-我不确定原因可能是什么。我尝试了一些关于拥有/省略JsonProperty等的变体。拥有/没有getter和setter

使用Newtonsoft.Json包的8.0.2版(使用nuget软件包管理器和Windows 10上的Visual Studio Community 2015安装)

。。。 使用Newtonsoft.Json

public class PharmacyProDrug
{
    [JsonProperty("DrugId")] public long DrugId { get; set; }
    [JsonProperty("GenericName")] public string GenericName { get; set; }
    [JsonProperty("DrugForm")] public string DrugForm { get; set; }
    [JsonProperty("TradeProductPack")] public ulong? TradeProductPack { get; set; }
    [JsonProperty("CPINumber")] public long? CPINumber { get; set; }
    [JsonProperty("TradeName")] public string TradeName { get; set; }

    public PharmacyProDrug()
    {

    }
    ....
}

.....

var pharmacyProDrugs = pharmacyProImporter.getDrugs(); // defined as public List<PharmacyProDrug> getDrugs()
if (pharmacyProDrugs.Count > 0) // Count = 9468
{
    var json = JsonConvert.SerializeObject(pharmacyProDrugs,Newtonsoft.Json.Formatting.None);
    // returns "null"
}
公共类药物
{
[JsonProperty(“DrugId”)]公共长DrugId{get;set;}
[JsonProperty(“GenericName”)]公共字符串GenericName{get;set;}
[JsonProperty(“DrugForm”)]公共字符串DrugForm{get;set;}
[JsonProperty(“TradeProductPack”)]public ulong?TradeProductPack{get;set;}
[JsonProperty(“CPINumber”)]public long?CPINumber{get;set;}
[JsonProperty(“商标名”)]公共字符串商标名{get;set;}
公共药物
{
}
....
}
.....
var pharmacyProDrugs=pharmacyProImporter.getDrugs();//定义为公共列表getDrugs()
如果(pharmacyProDrugs.Count>0)//Count=9468
{
var json=JsonConvert.SerializeObject(pharmacyProDrugs,Newtonsoft.json.Formatting.None);
//返回“null”
}

谢谢大家的帮助,但这是一个无关的错误。

请显示一个。使用列表测试了您的类,它正常工作,您在其他任何地方都有错误。您确定这是一个列表吗?Gusman是的,非常确定。var pharmacyProDrugList=new list();…返回pharmacyProDrugList;好吧,然后重新检查所有,我复制了你的类,创建了一个列表,添加了100个元素并序列化了它,它工作没有问题…我只是测试了这个,没有问题,但我只是使用了少量的对象作为测试。我在你的图像中看到有9468个,这可能是你的jsonMax的问题LengthProperty,但如果是,您应该得到该异常。为什么要将此作为答案发布?请告诉我无关的错误回答会阻止其他人尝试解决它。我不明白它为什么会起作用,这与运行时的懒惰方式有关。