我正在尝试反序列化一个简单的json对象{"UserID":1","VenueID":14}
我已经构建了一个类,它应该采用序列化的json字符串,如下所示:
public class jsDeserial{
public T jsDeserialize<T>(string jsStr)
{
DataContractJsonSerializer serJs = new DataContractJsonSerializer(typeof(T));
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetByteCount(jsStr));
T obj = (T)serJs.ReadObject(stream);
stream.Close();
return obj;
}
}
在我的页面的代码隐藏中,我输入了以下内容:
[DataContract]
public class VenueUser
{
[DataMember]
public int VenueID { get; set; }
[DataMember]
public int UserID { get; set; }
}
并启动反序列化我输入了
protected int VIdentifier
{
get
{
jsonStuff.jsDeserial js = new jsonStuff.jsDeserial();
var vid=js.jsDeserialize<VenueUser>(uD);
return vid.VenueID;
}
}
uD表示序列化的json数据:{“VenueID”:14,“UserID”:1}
jsonStuff只是一个包含VIdentifier属性的命名空间。
无论如何,我得到以下错误,我无法弄清楚:
期望来自命名空间''的元素'root'。遇到'无',名称'',命名空间''。