C# 使用列表反序列化JSON对象<&燃气轮机;在C中使用DataContractJsonSerializer#
我想反序列化一个包含单个成员的JSON对象;字符串数组: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
{"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
?可能存在的副本