Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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# 字符串中断反序列化中的空数组_C#_Json - Fatal编程技术网

C# 字符串中断反序列化中的空数组

C# 字符串中断反序列化中的空数组,c#,json,C#,Json,我有一个JSON字符串,我正试图将其转换为一个列表。有一个空数组值正在破坏反序列化。您已尝试手动删除该值或将其更改为一个数字,该值正常工作。我想我可以尝试替换字符串中的[],但是有更好的方法解决这个问题吗 public class Tax { public string Id; public string Name; public string PathOfTerm; public string Children; public string Level;

我有一个JSON字符串,我正试图将其转换为一个列表。有一个空数组值正在破坏反序列化。您已尝试手动删除该值或将其更改为一个数字,该值正常工作。我想我可以尝试替换字符串中的[],但是有更好的方法解决这个问题吗

public class Tax
{
    public string Id;
    public string Name;
    public string PathOfTerm;
    public string Children;
    public string Level;
    public string RawTerm;
}

var exString = "[{\"Id\":\"12345\",\"Name\":\"aName\",\"PathOfTerm\":\"aTerm\",\"Children\":[],\"Level\":0,\"RawTerm\":null}]";
JavaScriptSerializer ser = new JavaScriptSerializer();
var taxData = ser.Deserialize<List<Tax>>(exString);

值是数组,但字段是字符串。我建议您将其设置为适当类型的数组或列表-我们无法从JSON中判断该类型是什么,但您可能需要一个字符串数组

我还建议使用属性而不是公共字段


如果您可以转到Json.NET,我通常也建议您使用JavaScriptSerializer…

值是一个数组,但字段是一个字符串。我建议您将其设置为适当类型的数组或列表-我们无法从JSON中判断该类型是什么,但您可能需要一个字符串数组

我还建议使用属性而不是公共字段


如果您可以转到Json.NET,我通常也建议您使用JavaScriptSerializer…

您是否尝试过让模型反映Json?看起来孩子们应该是一个数组而不是一个字符串…是的,谢谢,就是这样。没有意识到无法转换为StringOK,将作为答案发布。您是否尝试过让您的模型反映JSON?看起来孩子们应该是一个数组而不是一个字符串…是的,谢谢,就是这样。没有意识到不能转换为StringOk,将作为答案发布。