我想在不使用任何DLL的情况下在Listbox中显示数据。我的webservice以json格式响应。
我的Web服务响应如下。它有超过800条记录
[
{
"st_id":"1",
"st_name":"name xyz"
},
{
"st_id":"2",
"st_name":"name ABC"
},
{
"st_id":"3",
"st_name":"name HIJK"
},
{
"st_id":"4",
"st_name":"name OPQ"
},
]
我的数据类如下
[DataContract]
public class Student
{
[DataMember=("st_id")]
public bool st_id { get; set; }
[DataMember=("st_name")]
public string st_name { get; set; }
}
我正在尝试使用DataContractJsonSerializer&我在Stream.But得到WS响应我无法序列化。建立了json的Serilize和Deserilize的链接或基本教程
DataContractJsonSerializer stdserialize =
new DataContractJsonSerializer(typeof(Student));
Student stuser = (Student)stdserialize.ReadObject(responseStream);
所以请帮助json响应解析&建议数据合同的链接以及所有从基础知识中提供知识的链接 谢谢,
答案 0 :(得分:0)
您将st_id声明为bool
,但您尝试反序列化的数据类型是字符串(可以转换为数字 - 而不是布尔值)。尝试将其声明为string
,它应该可以正常工作。
此外,响应是对象的数组,因此您应该使用的类型为Student[]
:
DataContractJsonSerializer stdserialize =
new DataContractJsonSerializer(typeof(Student[]));
Student stuser = (Student[])stdserialize.ReadObject(responseStream);