【发布时间】:2013-07-01 16:49:01
【问题描述】:
我确信这个问题已经被问了一遍又一遍,但由于某种原因,我仍然无法让它发挥作用。
我想反序列化一个包含单个成员的 JSON 对象;一个字符串数组:
[{"idTercero":"cod_Tercero"}]
这是我要反序列化的类:
[DataContract]
public class rptaOk
{
[DataMember]
public string idTercero { get; set; }
public rptaOk() { }
public rptaOk(string idTercero)
{
this.idTercero = idTercero;
}
}
这是我尝试反序列化的方法:
public T Deserialise<T>(string json)
{
DataContractJsonSerializer deserializer = new DataContractJsonSerializer(typeof(T));
using (MemoryStream stream = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
T result = (T)deserializer.ReadObject(stream);
return result;
}
}
所以我尝试填充对象:
rptaOk deserializedRpta = deserializarOk(rpta);
但由于某种原因,这会返回“”
MessageBox.Show(deserializedRpta.idTercero);
【问题讨论】:
-
作为示例的 json 是一个对象数组,而不是对象本身。也许这是你的问题?
-
也许这对其他人也有帮助:kashfarooq.wordpress.com/2011/01/31/…
-
public T Deserialise<T>(string json)- 考虑在 public 之后添加静态
标签: c# json datacontractjsonserializer