Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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# 使用列表反序列化JSON对象<&燃气轮机;在C中使用DataContractJsonSerializer#_C#_Json_Datacontractjsonserializer - Fatal编程技术网

C# 使用列表反序列化JSON对象<&燃气轮机;在C中使用DataContractJsonSerializer#

C# 使用列表反序列化JSON对象<&燃气轮机;在C中使用DataContractJsonSerializer#,c#,json,datacontractjsonserializer,C#,Json,Datacontractjsonserializer,我想反序列化一个包含单个成员的JSON对象;字符串数组: {"errores":[{"errorCode":"campo1","errorMessage":"Errorenelcampo1"},{"errorCode":"campo2","errorMessage":"Errorenelcampo2"},{"errorCode":"campo3","errorMessage":"Errorenelcampo3"},{"errorCode":"campo4","errorMessage":"Err

我想反序列化一个包含单个成员的JSON对象;字符串数组:

{"errores":[{"errorCode":"campo1","errorMessage":"Errorenelcampo1"},{"errorCode":"campo2","errorMessage":"Errorenelcampo2"},{"errorCode":"campo3","errorMessage":"Errorenelcampo3"},{"errorCode":"campo4","errorMessage":"Errorenelcampo4"}]}"
这是我试图反序列化到的类:

[DataContract]
internal class rptaNo
{
    [DataMember]
    public List<Errors> errores { get; set; }

    [DataContract]
    protected internal struct Errors
    {
        [DataMember]
        public string codigo { get; set; }
        [DataMember]
        public string descripcion { get; set; }
    }
}

我想一定是我遗漏了什么=(

您的模型需要具有与JSON对象名称匹配的属性:

[DataContract]
protected internal struct Errors
{
    [DataMember]
    public string errorCode { get; set; }
    [DataMember]
    public string errorMessage { get; set; }
}

您的模型需要具有与JSON对象名称匹配的属性:

[DataContract]
protected internal struct Errors
{
    [DataMember]
    public string errorCode { get; set; }
    [DataMember]
    public string errorMessage { get; set; }
}
这可以帮助你

public class KeyValue { public string errorCode { get; set; } public string errorMessage { get; set; } } string json = @"[{""errorCode"":""code1"",""errorMessage"":""value1""}, {""errorCode"":""code2"",""errorMessage"":""value2""}, {""errorCode"":""code3"",""errorMessage"":""value3""}] "; JavaScriptSerializer deserializer = new JavaScriptSerializer(); List items = deserializer.Deserialize>(json); foreach(var item in items) { Console.WriteLine(item.errorCode + ":" + item.errorMessage); } 公共类键值 { 公共字符串错误码 { 获得;设置; } 公共字符串错误消息 { 获得;设置; } } 字符串json=@“[{”“errorCode”“:”“code1”“errorMessage”“:”“value1”“},{”“errorCode”“:”“code2”“errorMessage”“:”“value2”“},{”“errorCode”“:”“code3”“errorMessage”“:”“value3”“}]; JavaScriptSerializer反序列化程序=新的JavaScriptSerializer(); 列表项=反序列化程序。反序列化>(json); foreach(项目中的var项目) { Console.WriteLine(item.errorCode+“:”+item.errorMessage); } 这可以帮助你

public class KeyValue { public string errorCode { get; set; } public string errorMessage { get; set; } } string json = @"[{""errorCode"":""code1"",""errorMessage"":""value1""}, {""errorCode"":""code2"",""errorMessage"":""value2""}, {""errorCode"":""code3"",""errorMessage"":""value3""}] "; JavaScriptSerializer deserializer = new JavaScriptSerializer(); List items = deserializer.Deserialize>(json); foreach(var item in items) { Console.WriteLine(item.errorCode + ":" + item.errorMessage); } 公共类键值 { 公共字符串错误码 { 获得;设置; } 公共字符串错误消息 { 获得;设置; } } 字符串json=@“[{”“errorCode”“:”“code1”“errorMessage”“:”“value1”“},{”“errorCode”“:”“code2”“errorMessage”“:”“value2”“},{”“errorCode”“:”“code3”“errorMessage”“:”“value3”“}]; JavaScriptSerializer反序列化程序=新的JavaScriptSerializer(); 列表项=反序列化程序。反序列化>(json); foreach(项目中的var项目) { Console.WriteLine(item.errorCode+“:”+item.errorMessage); }
我建议使用。它使“无害”重构不太可能破坏现有契约。@stvn03如果答案对您有效,您通常会接受它,以便将来的访问者能够快速看到它解决了问题。我建议使用。它使“无害”重构不太可能破坏现有契约。@stvn03如果答案对您有效,您通常会接受它,以便将来的访问者能够快速看到它解决了问题。您是否尝试过
System.Web.Script.Serialization.JavascriptSerializer
?是否尝试过
System.Web.Script.Serialization.JavaScriptSerializationr
?可能存在的副本