c# - 格式化 Json

这是一个C#程序,用于读取指定路径或文件中的JSON内容,并将其格式化为易于阅读的格式。程序使用Newtonsoft.Json库,将原始JSON串转换为对象并重新序列化,以缩进方式输出到新的文件中。
摘要由CSDN通过智能技术生成
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace FormatJson
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = args[0];
            string[] files;
            if (Directory.Exists(path))
            {
                files = Directory.GetFiles(path);
            }
            else
            {
                files = new string[1];
                files[0] = args[0];
            }

            foreach (var f in files)
            {
                try
                {
                    Console.WriteLine("Process file:" + f);
                    ProcessFile(f);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }

        private static void Pr
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、付费专栏及课程。

余额充值