C# Json数据格式化

JSON数据格式化

1. Json字符串

{"Success": true,"Msg": "Success","ElapsedTime": 30,"CargoRecordList": [{"Url": "https://i.was.ceo","Title": "我是CEO","Snippet": "我是CEO我的CEO"},{"Url": "https://i.was.ceo","Title": "我是CEO","Snippet": "我是CEO我的CEO"}]}

 

2. Json格式化效果

 

3. 代码

        /// <summary>
        /// JSON字符串格式化
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static string JsonTree(string json)
        {
            int level = 0;
            var jsonArr = json.ToArray();  // Using System.Linq;
            string jsonTree = string.Empty;
            for (int i = 0; i < json.Length; i++)
            {
                char c = jsonArr[i];
                if (level > 0 && '\n' == jsonTree.ToArray()[jsonTree.Length - 1])
                {
                    jsonTree += TreeLevel(level);
                }
                switch (c)
                {
                    case '[':
                        jsonTree += c + "\n";
                        level++;
                        break;
                    case ',':
                        jsonTree += c + "\n";
                        break;
                    case ']':
                        jsonTree += "\n";
                        level--;
                        jsonTree += TreeLevel(level);
                        jsonTree += c;
                        break;
                    default:
                        jsonTree += c;
                        break;
                }
            }
            return jsonTree;
        }
        /// <summary>
        /// 树等级
        /// </summary>
        /// <param name="level"></param>
        /// <returns></returns>
        private static string TreeLevel(int level)
        {
            string leaf = string.Empty;
            for (int t = 0; t < level; t++)
            {
                leaf += "\t";
            }
            return leaf;
        }

  

posted on 2017-02-20 13:00  petson  阅读(4686)  评论(0)    收藏  举报

导航