JSON和表的相互转化
JSON字符串格式必须为{“KEY”: “VALUE”}格式的,字符串为海峡
var dt = Newtonsoft.Json.JsonConvert.DeserializeObject <DataTable>(“[”+ str +“]”);
DataSet ds = new DataSet();
ds.Tables.Add(DT);
把表转成此格式的字符串:
string result = Newtonsoft.Json.JsonConvert.SerializeObject(dtDate); - 此转出来格式是:[{“key”:“value”}]
result = result.Substring(1,result.Length - 2);截取前后一个字符串就成了我们初始穿进来的值
JSON和XML格式的转化
符合XML格式的JSON字符串转换
string result =“<?xml version =”1.0“encoding =”GBK“?> <service> <data RecCount =”1“> <record> <fp> <fpdm> 1 </ fpdm> <fphm> fphm> <kprq /> <je /> <se /> <jshj /> </ fp> <order> <fhzt> 0 </ fhzt> <fhxx>无法连接到远程服务器</ fhxx> </ order> < /记录> </数据> </服务>”;
XmlDocument doc = new XmlDocument();
doc.LoadXml(结果);
结果= Newtonsoft.Json.JsonConvert.SerializeXmlNode(doc);
JSON格式为:
{ “XML?”:{ “@版本”: “1.0”, “@编码”: “GBK”}, “服务”:{ “数据”:{ “@ RECCOUNT”: “1”, “记录”:{ “FP”:{ “FPDM”: “1”, “fphm”: “1”, “kprq”:NULL, “JE”:空, “SE”:NULL, “jshj”:空}, “命令”: { “fhzt”: “0”, “fhxx”: “无法连接到远程服务器”}}}}}
另外一种是一本JSON字符格式的转换
StringBuilder dtlString = new StringBuilder();
dtlString.Append(@“{”“?xml”“:{
”“ @version ”“:”“1.0”“,
”“@standalone”“:”“no”“
},
”“root”“:{
” “Dtl” “:”);
dtlString.Append(detailData);
dtlString.Append( “}}”);
XmlDocument doc =(XmlDocument)JsonConvert.DeserializeXmlNode(dtlString.ToString());
JSON和动态的转换
string str = Newtonsoft.Json.JsonConvert.SerializeObject(你的动态);
动态响应= Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(你的字符串);
表和动态类型转换
先把表转成JSON字符串
string str = Newtonsoft.Json.JsonConvert.SerializeObject(dt);
然后再由JSON字符串转成动态类型
List<dynamic> list = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(str).ToObject<List<dynamic>>();