也许这是以前问过的,但是我不知道如何查找我的问题。 我正在使用WebAPI来验证许可证。从此API中,我得到以下格式的返回JSON字符串。
string json = "[{"status":"error","status_code":"e002","message":"Invalid licence key"}]"
这是我的序列化器
using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(ActivationResponseWooSl));
ActivationResponseWooSl ar = (ActivationResponseWooSl)js.ReadObject(ms);
}
现在我的问题是,“ ActivationResponseWooSl”类的外观如何,以便序列化程序可以对其进行转换?
我们非常感谢您的帮助!
目前看来(无法正常工作):
[DataContract]
public class ActivationResponseWooSl
{
[DataMember(Name = "status")]
public string Status { get; set; }
[DataMember(Name = "status_code")]
public string ErrorCode { get; set; }
[DataMember(Name = "message")]
public string ErrorMessage { get; set; }
}
但是当我序列化json字符串时,所有属性均为“ null”。
答案 0 :(得分:1)
您的课程正确。您的JSON是一个对象数组。
尝试
DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(ActivationResponseWooSl[]));
var arr = (ActivationResponseWooSl[])js.ReadObject(ms);