【问题标题】:Using Json.NET, is there a way to control the number of array values serialized per line?使用 Json.NET,有没有办法控制每行序列化的数组值的数量?
【发布时间】:2014-06-02 13:15:54
【问题描述】:

我目前正在序列化浮点值数组,我希望每行序列化超过 1 个数组值。

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

  "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 个值。

谢谢。

【问题讨论】:

    标签: arrays serialization json.net


    【解决方案1】:

    没有。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多