欢迎来到天天文库
浏览记录
ID:49619706
大小:50.00 KB
页数:12页
时间:2020-03-02
《ASPNET万能JSON解析器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ASP.NET万能JSON解析器概念介绍还是先简单说说Json的一些例子吧。注意,以下概念是我自己定义的,可以参考.net里面的TYPE的模型设计如果有争议,欢迎提出来探讨!1.最简单:{"total":0} total就是值,值是数值,等于02.复杂点{"total":0,"data":{"377149574":1}}total是值,data是对象,这个对象包含了"377149574"这个值,等于13.最复杂{"total":0,"data":{"377149574":[{"cid":"377149574"}]}
2、}total是值,data是对象,377149574是数组,这个数组包含了一些列的对象,例如{"cid":"377149574"}这个对象。有了以上的概念,就可以设计出通用的json模型了。万能JSON源码:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePixysoft.Json{ publicclassCommonJsonModelAnalyzer { protectedstring_GetKey(s
3、tringrawjson) { if(string.IsNullOrEmpty(rawjson)) returnrawjson; rawjson=rawjson.Trim(); string[]jsons=rawjson.Split(newchar[]{':'}); if(jsons.Length<2) returnrawjson; returnjs
4、ons[0].Replace(""","").Trim(); } protectedstring_GetValue(stringrawjson) { if(string.IsNullOrEmpty(rawjson)) returnrawjson; rawjson=rawjson.Trim(); string[]jsons=rawjson.Split(newchar[]{':'},String
5、SplitOptions.RemoveEmptyEntries); if(jsons.Length<2) returnrawjson; StringBuilderbuilder=newStringBuilder(); for(inti=1;i6、pend(":"); } if(builder.Length>0) builder.Remove(builder.Length-1,1); stringvalue=builder.ToString(); if(value.StartsWith(""")) value=value.Substring(1); if(value.EndsWith(""")) 7、 value=value.Substring(0,value.Length-1); returnvalue; } protectedList_GetCollection(stringrawjson) { //[{},{}] Listlist=newList(); if(string.IsNullOrEmpty(rawjson)) 8、 returnlist; rawjson=rawjson.Trim(); StringBuilderbuilder=newStringBuilder(); intnestlevel=-1; intmnestlevel=-1; for(i
6、pend(":"); } if(builder.Length>0) builder.Remove(builder.Length-1,1); stringvalue=builder.ToString(); if(value.StartsWith(""")) value=value.Substring(1); if(value.EndsWith("""))
7、 value=value.Substring(0,value.Length-1); returnvalue; } protectedList_GetCollection(stringrawjson) { //[{},{}] Listlist=newList(); if(string.IsNullOrEmpty(rawjson))
8、 returnlist; rawjson=rawjson.Trim(); StringBuilderbuilder=newStringBuilder(); intnestlevel=-1; intmnestlevel=-1; for(i
此文档下载收益归作者所有