使用Json.NET,有没有办法控制每行序列化的数组值的数量?

时间:2014-04-18 04:01:50

标签: arrays serialization json.net

我正在序列化浮点值数组,我想每行序列化多个数组值。

例如,以下输出是标准的Json.NET格式,它为4x4 float数组的每行序列化一个值:

  "Matrix1": [
    [
      1.37611,
      -0.37982,
      0.00381,
      -0.00173
    ],
    [
      -0.46092,
      0.77912,
      -0.02207,
      0.01123
    ],
    [
      0.00012,
      -4E-05,
      0.52735,
      -0.60753
    ],
    [
      -1E-05,
      -0.00093,
      -0.07794,
      1.28313
    ]
  ]

我希望看到序列化输出更像是这样:

  "Matrix1": [
    [ 1.37611, 0.37982, 0.00381, -0.00173 ],
    [ -0.46092, 0.77912, -0.02207, 0.01123 ],
    [ 0.00012, -4E-05, 0.52735, -0.60753 ],
    [ -1E-05, -0.00093, -0.07794, 1.28313 ]
  ]

有没有办法指示JsonSerializer序列化每行超过一个值的数组,并像这样进行自定义序列化?

我知道我可以使用JsonTextWriter以这种方式自定义输出,但我想使用JsonSerializer使用上述格式序列化我的所有单维和多维数组,并限制每个写入的值的数量线到最大值,例如每行10个值。

感谢。

1 个答案:

答案 0 :(得分:1)

没有。

Json.Net仅提供两种格式选项:IndentedNoneIndented将按照您在第一个示例中显示的格式进行格式化; None将删除所有额外的换行符和空格。如果你想要一个自定义格式化方案,你需要自己处理。