【问题标题】:Minify a json string using .NET使用 .NET 缩小 json 字符串
【发布时间】:2018-11-11 00:15:19
【问题描述】:

如何清理/缩小现有的 json 字符串?我见过使用正则表达式。还有其他(可能更有效)的方法吗?

【问题讨论】:

  • 检查这个Minify Json。您将清楚地了解 Minify a json string。

标签: .net json minify


【解决方案1】:
Install-Package Newtonsoft.Json

只需解析它,然后序列化回 JSON:

var jsonString = "  {  title: \"Non-minified JSON string\"  }  ";
var obj = JsonConvert.DeserializeObject(jsonString);
jsonString = JsonConvert.SerializeObject(obj);

SerializeObject(obj, Formatting.None) 方法接受 Formatting 枚举作为第二个参数。您可以随时选择是否需要Formatting.IndentedFormatting.None

【讨论】:

  • 感谢 Andrei,可能反序列化和重新序列化只是为了清理生成的 json 是一种矫枉过正。使用正则表达式可能仍然更有效。
  • @noplace 我对此表示怀疑,无论您必须使用何种方法来阅读整个 json,并且正则表达式从未对性能有好处。来回序列化也不会超快,但 Json.NET 通常表现出良好的结果
  • @noplace 还请注意,我没有反序列化为特定类型,这意味着它将导致内部 Json.NET JObject - 这避免了大量反射和处理以匹配属性和类型。
  • 在 .net core 3.1 System.Text.Json 中尝试类似的事情,但还没有成功
猜你喜欢
  • 2012-02-13
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-25
  • 1970-01-01
相关资源
最近更新 更多