c# - C# 中的 JSON 格式化程序?

标签 c# json formatting

寻找一个函数,该函数将 Json 的 string 作为输入,并使用换行符和缩进对其进行格式化。验证将是一个奖励,但不是必需的,我不需要将其解析为对象或任何东西。

有人知道这样的图书馆吗?


示例输入:

{"status":"OK", "results":[ {"types":[ "locality", "political"], "formatted_address":"New York, NY, USA", "address_components":[ {"long_name":"New York", "short_name":"New York", "types":[ "locality", "political"]}, {"long_name":"New York", "short_name":"New York", "types":[ "administrative_area_level_2", "political"]}, {"long_name":"New York", "short_name":"NY", "types":[ "administrative_area_level_1", "political"]}, {"long_name":"United States", "short_name":"US", "types":[ "country", "political"]}], "geometry":{"location":{"lat":40.7143528, "lng":-74.0059731}, "location_type":"APPROXIMATE", "viewport":{"southwest":{"lat":40.5788964, "lng":-74.2620919}, "northeast":{"lat":40.8495342, "lng":-73.7498543}}, "bounds":{"southwest":{"lat":40.4773990, "lng":-74.2590900}, "northeast":{"lat":40.9175770, "lng":-73.7002720}}}}]} 

最佳答案

您也可以使用 Newtonsoft.Json为此库并使用 Formatting.Indented 枚举调用 SerializeObject -

var x = JsonConvert.SerializeObject(jsonString, Formatting.Indented);

文档: Serialize an Object


更新-

刚刚又试了一次。很确定这曾经有效 - 也许它在后续版本中发生了变化,或者我只是在想象一些事情。无论如何,根据下面的评论,它并没有按预期工作。但是,这些确实如此(刚刚在 linqpad 中测试过)。第一个来自评论,第二个是我在 SO 其他地方找到的示例 -

void Main()
{
    //Example 1
    var t = "{\"x\":57,\"y\":57.0,\"z\":\"Yes\"}";
    var obj = Newtonsoft.Json.JsonConvert.DeserializeObject(t); 
    var f = Newtonsoft.Json.JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.Indented);
    Console.WriteLine(f);

    //Example 2
    JToken jt = JToken.Parse(t);
    string formatted = jt.ToString(Newtonsoft.Json.Formatting.Indented);
    Console.WriteLine(formatted);

    //Example 2 in one line -
    Console.WriteLine(JToken.Parse(t).ToString(Newtonsoft.Json.Formatting.Indented));
}

关于c# - C# 中的 JSON 格式化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4580397/

相关文章:

java - 如何格式化带有前导零的Java字符串?

c# - 使用SQLite数据库的MS Word邮件合并

c# - 如何在不带前导零的情况下从 C# DateTime 获取小时数?

python - 将 json 补丁应用于 Mongoengine 文档

php - 将数据库条目分配给 Web 服务条目

java - JTextField只显示绝对值,没有负号?

c# - 在 NetSuite SuiteTalk Web 服务中将 SalesOrderItem 添加到 SalesOrder

c# - 将字符串数组转换为 C# 中的串联字符串

C# 模拟 xmlhttprequest 并获取 json 响应

html - 如何防止在 HTML 元素的新行中只有一个悬词?