2

大家好,我需要一些帮助!

我当前的漂亮打印 Gson 对象:

Gson gson = new GsonBuilder().setPrettyPrinting().create();

我当前的输出是:

{
  "YYYY": "ZZZZ",
  "FFFFFFFFF": [
    {
      "AAAAAA": 1
    },
    {
      "BBBBB": 1
    },
    {
      "CCCCCCC": 2
    },
    {
      "TTTTTT": 10
    },
    {
      "PPPPPPPP": 66
    },
    {
      "SSSSSSS": 99
    }
  ]
}

我想要的输出是:

{
  "YYYY": "ZZZZ",
  "FFFFFFFFFFFF":
     [
        { "AAAAAA": 1},
        { "BBBBBB": 1},
        { "CCCCCC": 2},
        { "TTTTTT": 10},
        { "PPPPPP": 66},
        { "SSSSSS": 99 }
     ]
}

首先十分感谢!尝试一些好的 json 应用程序,让我发疯!如果有人提供一些帮助,将不胜感激!

4

1 回答 1

1

来自 Gson指南

如果您喜欢使用 Pretty Print 功能,您必须使用 GsonBuilder 配置您的 Gson 实例。JsonFormatter 没有通过我们的公共 API 公开,因此客户端无法为 JSON 输出配置默认打印设置/边距。 目前,我们只提供一个默认的 JsonPrintFormatter,它的默认行长为 80 个字符、2 个字符缩进和 4 个字符的右边距。

这意味着使用 Gson,无法以这种方式达到您的目标。

您唯一能做的就是扩展JsonWriter类并进行适当的自定义(假设您有原始对象来生成对象)。但是,如果您只需要格式化一次,网上有很多在线格式化程序。

于 2013-10-10T20:29:34.650 回答