之前一篇《c# 读取JSON数据绑定到datagridview》
连接:http://blog.csdn.net/a200507002/article/details/78918231
后面发现,在实际使用中,问题较多,就想找其他方法。有天突然醒悟,服务端返回数据是以MODEL模式,那么在客户端接收后,也应该可以反序列化为Model。
于是, 开始操作:
新建Model:
public class modelMessage
{
[DataContract]
public class paraJson
{
[DataMember]
public bool success { get; set; }
[DataMember]
public string message { get; set; }
[DataMember]
public DataTable data { get; set; }
}
}
序列化与反序列化:
string errorMsg = string.Empty;
string data = string.Empty;
Model.plc_bin_mapping_t.paraJson listJson = null;
listJson = new Model.plc_bin_mapping_t.paraJson();
listJson.data = new List<Model.plc_bin_mapping_t.my_plc_bin_mapping_t>();
Model.plc_bin_mapping_t.my_plc_bin_mapping_t my = new Model.plc_bin_mapping_t.my_plc_bin_mapping_t();
my.page = 1;
my.pageSize = 20;
listJson.data.Add(my);
//序列化
data = JsonConvert.SerializeObject(listJson);
//叫用
errorMsg = Common.Function.clsHttpPost.VisitServer("getPlcMappingByPage", data, false);
//MessageBox.Show(error_msg);
//反序列化
var aa = JsonConvert.DeserializeObject(errorMsg);
Model.modelMessage.paraJson liMessage = JsonConvert.DeserializeObject<Model.modelMessage.paraJson>(aa.ToString());
this.dataGridView1.DataSource = liMessage.data;
搞定 ,收工。