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;
        }

  

转载于:https://www.cnblogs.com/petson/p/6419046.html

C#中,可以使用多种方法来格式化输出JSON数据。以下是一种常见的方法,即使用`Json.NET`(Newtonsoft.Json)库,这是一个广泛使用的第三方库,专门用于处理JSON数据。首先,你需要通过NuGet安装这个库。 安装完成后,你可以使用`JsonConvert.SerializeObject`方法来将对象序列化为格式化JSON字符串。例如: ```csharp using Newtonsoft.Json; public class ExampleClass { public string Name { get; set; } public int Age { get; set; } } // 实例化对象并赋值 ExampleClass obj = new ExampleClass { Name = "张三", Age = 30 }; // 序列化对象为格式化JSON字符串 string json = JsonConvert.SerializeObject(obj, Formatting.Indented); // 输出格式化后的JSON Console.WriteLine(json); ``` 在上面的代码中,`Formatting.Indented`参数指示`JsonConvert.SerializeObject`方法输出的JSON数据应该是美化过的,即具有适当的缩进和换行,这样可以使JSON数据的结构更加清晰易读。 除了`Json.NET`库,C# 也提供了内置的`System.Text.Json`命名空间下的类(从.NET Core 3.0开始),可以用来序列化和反序列化JSON数据。使用`System.Text.Json`的方法如下: ```csharp using System.Text.Json; // 实例化对象并赋值 ExampleClass obj = new ExampleClass { Name = "张三", Age = 30 }; // 序列化对象为格式化JSON字符串 string json = System.Text.Json.JsonSerializer.Serialize(obj, new System.Text.Json.JsonSerializerOptions { WriteIndented = true }); // 输出格式化后的JSON Console.WriteLine(json); ``` 在这段代码中,我们使用了`System.Text.Json.JsonSerializer.Serialize`方法,并传递了一个`JsonSerializerOptions`对象,其中设置了`WriteIndented`属性为`true`,以生成格式化的输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值