JSON.Net,自定义列表的序列化

本文关键字:序列化 列表 Net 自定义 JSON | 更新日期: 2023-09-27 18:25:30

我正在序列化一个List<T>,当你考虑它时,我想它是一个对象数组。 序列化填充的List<T>时,我得到类似于以下内容的结果:

[
  {
    "foo": "a1",
    "bar": "b1"
  },
  {
    "foo": "a2",
    "bar": "b2"
  },
  {
    "foo": "a3",
    "bar": "b3"
  }
]

正如您所期望的那样,这当然是一个 json 对象数组。 但是,我有不同的需求。我要求List<T>的序列化是单独的对象,如图所示。

{
    "foo": "a1",
    "bar": "b1"
}
{
    "foo": "a2",
    "bar": "b2"
}
{
    "foo": "a3",
    "bar": "b3"
}

我计划使用 RegEx 来更新 json 字符串,但在我完成该步骤之前,我想了解是否有一个现成的解决方案 json.net 来处理特定的格式需求。 当然,我没有阅读每一行文档,但是,我已经阅读了很多内容,没有什么突出的。

谢谢。

JSON.Net,自定义列表<T>的序列化

我的方法在这里是错误的。 真正的问题是将摄取 json 的目标。 与其诱骗 json.net 序列化无效的 json,我将重新将精力集中在目标系统错误地解释我的 json 文件的原因上。

为什么不尝试使用 NEWTONSOFT,它将为您完成所有工作,只需实现库并返回 JSON 即可使用

public static string ToJson(object obj)
{
    //Remember to JSON.parse() in aspx so you can work with data returned
    return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
}

希望这对你有帮助