亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

c#解析Josn(解析多個子集,數據,可解析無限級json)

2019-11-17 02:16:46
字體:
來源:轉載
供稿:網友

c#解析Josn(解析多個子集,數據,可解析無限級json)

首先引用 解析類庫

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace BPMS.WEB.Common{    public class CommonJsonModel : CommonJsonModelAnalyzer    {        PRivate string rawjson;        private bool isValue = false;        private bool isModel = false;        private bool isCollection = false;        public CommonJsonModel(string rawjson)        {            this.rawjson = rawjson;            if (string.IsNullOrEmpty(rawjson))                throw new Exception("missing rawjson");            rawjson = rawjson.Trim();            if (rawjson.StartsWith("{"))            {                isModel = true;            }            else if (rawjson.StartsWith("["))            {                isCollection = true;            }            else            {                isValue = true;            }        }        public string Rawjson        {            get { return rawjson; }        }        public bool IsValue()        {            return isValue;        }        public bool IsValue(string key)        {            if (!isModel)                return false;            if (string.IsNullOrEmpty(key))                return false;            foreach (string subjson in base._GetCollection(this.rawjson))            {                CommonJsonModel model = new CommonJsonModel(subjson);                if (!model.IsValue())                    continue;                if (model.Key == key)                {                    CommonJsonModel submodel = new CommonJsonModel(model.Value);                    return submodel.IsValue();                }            }            return false;        }        public bool IsModel()        {            return isModel;        }        public bool IsModel(string key)        {            if (!isModel)                return false;            if (string.IsNullOrEmpty(key))                return false;            foreach (string subjson in base._GetCollection(this.rawjson))            {                CommonJsonModel model = new CommonJsonModel(subjson);                if (!model.IsValue())                    continue;                if (model.Key == key)                {                    CommonJsonModel submodel = new CommonJsonModel(model.Value);                    return submodel.IsModel();                }            }            return false;        }        public bool IsCollection()        {            return isCollection;        }        public bool IsCollection(string key)        {            if (!isModel)                return false;            if (string.IsNullOrEmpty(key))                return false;            foreach (string subjson in base._GetCollection(this.rawjson))            {                CommonJsonModel model = new CommonJsonModel(subjson);                if (!model.IsValue())                    continue;                if (model.Key == key)                {                    CommonJsonModel submodel = new CommonJsonModel(model.Value);                    return submodel.IsCollection();                }            }            return false;        }        /// <summary>        /// 當模型是對象,返回擁有的key        /// </summary>        /// <returns></returns>        public List<string> GetKeys()        {            if (!isModel)                return null;            List<string> list = new List<string>();            foreach (string subjson in base._GetCollection(this.rawjson))            {                string key = new CommonJsonModel(subjson).Key;                if (!string.IsNullOrEmpty(key))                    list.Add(key);            }            return list;        }        /// <summary>        /// 當模型是對象,key對應是值,則返回key對應的值        /// </summary>        /// <param name="key"></param>        /// <returns></returns>        public string GetValue(string key)        {            if (!isModel)                return null;            if (string.IsNullOrEmpty(key))                return null;            foreach (string subjson in base._GetCollection(this.rawjson))            {                CommonJsonModel model = new CommonJsonModel(subjson);                if (!model.IsValue())                    continue;                if (model.Key != key)                    continue;                if (model.Key == key)                    return model.Value;            }            return null;        }        /// <summary>        /// 模型是對象,key對應是對象,返回key對應的對象        /// </summary>        /// <param name="key"></param>        /// <returns></returns>        public CommonJsonModel GetModel(string key)        {            if (!isModel)                return null;            if (string.IsNullOrEmpty(key))                return null;            foreach (string subjson in base._GetCollection(this.rawjson))            {                CommonJsonModel model = new CommonJsonModel(subjson);                if (!model.IsValue())                    continue;                if (model.Key == key)                {                    CommonJsonModel submodel = new CommonJsonModel(model.Value);                    if (!submodel.IsModel())                        return null;                    else                        return submodel;                }            }            return null;        }        /// <summary>        /// 模型是對象,key對應是集合,返回集合        /// </summary>        /// <param name="key"></param>        /// <returns></returns>        public CommonJsonModel GetCollection(string key)        {            if (!isModel)                return null;            if (string.IsNullOrEmpty(key))                return null;            foreach (string subjson in base._GetCollection(this.rawjson))            {                CommonJsonModel model = new CommonJsonModel(subjson);                if (!model.IsValue())                    continue;                if (model.Key == key)                {                    CommonJsonModel submodel = new CommonJsonModel(model.Value);                    if (!submodel.IsCollection())                        return null;                    else                        return submodel;                }            }            return null;        }        /// <summary>        /// 模型是集合,返回自身        /// </summary>        /// <returns></returns>        public List<CommonJsonModel> GetCollection()        {            List<CommonJsonModel> list = new List<CommonJsonModel>();            if (IsValue())                return list;            foreach (string subjson in base._GetCollection(rawjson))            {                list.Add(new CommonJsonModel(subjson));            }            return list;        }        /// <summary>        /// 當模型是值對象,返回key        /// </summary>        private string Key        {            get            {                if (IsValue())                    return base._GetKey(rawjson);                return null;            }        }        /// <summary>        /// 當模型是值對象,返回value        /// </summary>        private string Value        {            get            {                if (!IsValue())                    return null;                return base._GetValue(rawjson);            }        }    }}
View Code

  解析類父類

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲欧美另类中文| 在线看日韩欧美| 亚洲自拍偷拍福利| 97视频免费在线看| 国产欧美一区二区三区久久人妖| 国产视频精品一区二区三区| 亚洲国产精品电影在线观看| 亚洲自拍av在线| 国产亚洲免费的视频看| 在线观看欧美成人| 三级精品视频久久久久| 黑人狂躁日本妞一区二区三区| 欧美日本中文字幕| 国产精品扒开腿做爽爽爽视频| 久久久久九九九九| 国产成+人+综合+亚洲欧美丁香花| 91精品国产综合久久男男| 高清欧美电影在线| 精品香蕉一区二区三区| 亚洲国产三级网| 2020国产精品视频| 欧美wwwxxxx| 精品香蕉在线观看视频一| 久久99国产综合精品女同| 91香蕉嫩草影院入口| 日韩视频―中文字幕| 欧美午夜片在线免费观看| 中文字幕一区电影| 国产精品视频中文字幕91| 国产精品99久久久久久白浆小说| 国产亚洲精品激情久久| 国产婷婷成人久久av免费高清| 亚洲已满18点击进入在线看片| 亚洲美女久久久| 色噜噜亚洲精品中文字幕| 一区二区三区视频免费在线观看| 久久精品国产久精国产一老狼| 亚洲欧洲国产精品| 国产精品视频公开费视频| 亚洲一区二区三区久久| 欧美在线观看一区二区三区| 久久久久久久久久久久av| 中文字幕精品在线| 在线成人激情黄色| 亚洲精品国产综合区久久久久久久| 538国产精品一区二区在线| 国产精品国产亚洲伊人久久| 久久久视频在线| 久久九九全国免费精品观看| 日韩电影中文 亚洲精品乱码| 国产男人精品视频| 欧美一级电影久久| 欧美有码在线观看视频| 亚洲国产精品专区久久| 亚洲欧美日本伦理| 视频在线观看一区二区| 深夜精品寂寞黄网站在线观看| 亚洲999一在线观看www| 亚洲影院色无极综合| 精品五月天久久| 日韩免费av片在线观看| 国产精品吹潮在线观看| 国产成人在线一区二区| 国产亚洲精品久久| www.亚洲成人| 久久国内精品一国内精品| 国外日韩电影在线观看| 最新亚洲国产精品| 韩日精品中文字幕| 欧美视频免费在线| 中文字幕国产精品久久| 亚洲天堂日韩电影| 日韩欧美国产一区二区| 久久伊人免费视频| 国产一区二区三区网站| 91干在线观看| 日韩高清免费观看| 国产成人a亚洲精品| 欧美激情高清视频| 精品视频9999| 久久欧美在线电影| 欧美电影电视剧在线观看| 亚洲成av人乱码色午夜| 国产自摸综合网| 尤物tv国产一区| 亚洲韩国欧洲国产日产av| 久久成人国产精品| 成人精品视频在线| 91成人免费观看网站| 欧美乱大交xxxxx另类电影| 久久中文字幕国产| 欧美日韩免费区域视频在线观看| 国产精品一区二区三区久久久| 国产精品午夜国产小视频| 欧美激情久久久久久| 亚洲精品99久久久久中文字幕| 色婷婷亚洲mv天堂mv在影片| 日韩精品极品在线观看播放免费视频| 亚洲一区二区三区在线视频| 欧美一区二区三区精品电影| 国产欧美日韩精品专区| 亚洲日本aⅴ片在线观看香蕉| 亚洲国产天堂久久综合| 亚洲二区中文字幕| 欧美性猛xxx| 欧美激情18p| 欧美视频在线看| 国产精品爽爽爽爽爽爽在线观看| 中文字幕国产亚洲2019| 欧美尺度大的性做爰视频| 国产精品伦子伦免费视频| 亚洲日本中文字幕免费在线不卡| 欧美精品一二区| 热久久美女精品天天吊色| 成人激情黄色网| 亚洲女人初尝黑人巨大| 精品亚洲夜色av98在线观看| 亚洲欧美一区二区三区情侣bbw| 热99久久精品| 国产在线精品播放| 亚洲图片在线综合| 亚洲欧美日韩一区二区在线| 综合136福利视频在线| 亚洲欧美国产精品久久久久久久| 欧美性猛交xxxx免费看久久久| 欧美xxxx做受欧美.88| 欧美日韩国产va另类| 91精品国产乱码久久久久久久久| 日韩欧美亚洲国产一区| 欧美成人中文字幕在线| 韩剧1988免费观看全集| 精品国产1区2区| 欧美在线xxx| 91国语精品自产拍在线观看性色| 亚洲丝袜在线视频| 欧美精品久久久久| 午夜精品久久久久久久白皮肤| 欧美伊久线香蕉线新在线| 亚洲国产精品va在线| 97香蕉久久超级碰碰高清版| 久久99久久亚洲国产| 国产有码一区二区| 91精品视频一区| 久久福利视频导航| 国产成人精品免高潮在线观看| 青青精品视频播放| 精品国产自在精品国产浪潮| 久青草国产97香蕉在线视频| 国产精品美女午夜av| 亚洲第一区在线| 亚洲第一页在线| 欧美一级高清免费| 欧美中文字幕精品| 亚洲电影免费观看高清完整版在线| 成人亚洲激情网| 国产va免费精品高清在线观看| 欧美激情精品久久久久久| 亚洲欧洲美洲在线综合| 欧美色视频日本高清在线观看| 国产精品91久久久久久| 亚洲欧美一区二区三区久久| 欧美在线视频免费播放| 国产精品黄色影片导航在线观看| 日韩在线激情视频|