Newtonsoft序列化对象列表

时间:2019-03-21 09:45:50

标签: c# json.net

有没有一种方法可以生成List <object>的序列化字符串,而无需任何[ ]

我们正在使用以下代码进行序列化

JsonConvert.SerializeObject(data)

[
  {
    "SessionId": "6d1ea52b-9f0c-4c32-835d-49e6db22efee",
    "ComponentName": "WebRole",
    "Message": "X"
  },
  {
    "SessionId": "6d1ea52b-9f0c-4c32-835d-49e6db22efee",
    "ComponentName": "WebRole",
    "Message": "Y"
  },
  {
    "SessionId": "6d1ea52b-9f0c-4c32-835d-49e6db22efee",
    "ComponentName": "WebRole",
    "Message": "Z"
  },
  {
    "SessionId": "6d1ea52b-9f0c-4c32-835d-49e6db22efee",
    "ComponentName": "WebRole",
    "Message": "XY"
  },
  {
    "SessionId": "6d1ea52b-9f0c-4c32-835d-49e6db22efee",
    "ComponentName": "WebRole",
    "Message": "XYZ",
    "Payload": "X>>1"
  }
]

有没有一种方法可以删除以上[],我有一种解决方法,可以在序列化字符串上调用Trim('[')Trim(']')。 NewtonSoft是否有任何可用的设置可以删除[],我也不想使用匿名对象。

1 个答案:

答案 0 :(得分:1)

没有办法,如果data是一个集合,那么JsonConvert将返回一个JSON数组。您可以按照声明使用Trim('[').Trim(']')修改输出字符串,但是JSON无效。