转储()对象为JSON漂亮打印字符串

mmi*_*mix 1 c# wcf json

好的,我对此有一些问题,如果有适用的带有许可许可证的代码,我宁愿不构建自己的代码。

我需要一种将对象(任何对象)的实例转储到人类可读的JSON字符串中的方法。我们的计划是使用ServiceStack.Text,但是该软件在v3中具有限制性许可,因此我们并未构建FOSS。我对mgmt对于购买ServiceStack v4的商业许可证只是为了转储对象也没有什么了解。因此,我们需要遵循MIT许可的方针。

WCF中的内部JSON序列化程序似乎只能与装饰有DataContract的对象一起使用。

知道是否有类似的东西吗?

Ale*_*son 7

使用JSON.Net将对象转换为JSON字符串。

string json = JsonConvert.SerializeObject(objectToSerialize);
Run Code Online (Sandbox Code Playgroud)

我还执行以下操作以将JSON很好地格式化为可读文件(而不是全部一行)

JToken jt = JToken.Parse(json);
string formattedJson = jt.ToString();
Run Code Online (Sandbox Code Playgroud)

  • JsonConvert.SerializeObject(instance,Formatting.Indented);是否会得到相同的结果? (3认同)

Rav*_*r B 5

使用 Newtonsoft.Json 我们也可以实现同样的效果

    string formattedJson = JsonConvert.SerializeObject(data, Formatting.Indented);
    Console.WriteLine(formattedJson);
Run Code Online (Sandbox Code Playgroud)