JSON字符串、XML等和表互相转换----间断更新中

4 篇文章 0 订阅

 

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>>();

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值