我正在使用.NET JSON解析器,并希望序列化我的配置文件,以便它是可读的。因此,不是:
{"blah":"v", "blah2":"v2"}
我想要一些更好的东西,比如:
{
"blah":"v",
"blah2":"v2"
}
我的代码是这样的:
using System.Web.Script.Serialization;
var ser = new JavaScriptSerializer();
configSz = ser.Serialize(config);
using (var f = (TextWriter)File.CreateText(configFn))
{
f.WriteLine(configSz);
f.Close();
}
发布于 2014-01-28 21:41:26
用于Json.Net库的较短的示例代码
private static string FormatJson(string json)
{
dynamic parsedJson = JsonConvert.DeserializeObject(json);
return JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
}
发布于 2015-05-19 23:20:56
如果你有一个JSON字符串并且想要“美化”它,但是又不想把它序列化为一个已知的C#类型,那么下面的方法就可以解决这个问题(使用JSON.NET):
using System;
using System.IO;
using Newtonsoft.Json;
class JsonUtil
{
public static string JsonPrettify(string json)
{
using (var stringReader = new StringReader(json))
using (var stringWriter = new StringWriter())
{
var jsonReader = new JsonTextReader(stringReader);
var jsonWriter = new JsonTextWriter(stringWriter) { Formatting = Formatting.Indented };
jsonWriter.WriteToken(jsonReader);
return stringWriter.ToString();
}
}
}
发布于 2018-03-22 19:03:28
使用Newtonsoft.Json.Linq
的Oneliner
string prettyJson = JToken.Parse(uglyJsonString).ToString(Formatting.Indented);
https://stackoverflow.com/questions/2661063
复制相似问题