GSON Pretty Print问题寻求解决方案

时间:2013-10-10 19:28:41

标签: gson pretty-print

大家好我需要一些帮助!

My Current Pretty Print 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应用程序让我疯了!如果有人提供帮助,我将不胜感激!

1 个答案:

答案 0 :(得分:1)

来自Gson guide

  

如果您想使用Pretty Print功能,则必须配置   使用GsonBuilder的Gson实例。 JsonFormatter不是   通过我们的公共API公开,因此客户端无法配置   JSON输出的默认打印设置/边距。 现在,我们   仅提供具有默认行长度的默认JsonPrintFormatter   80个字符,2个字符缩进,4个字符右   裕度。

这意味着,对于Gson来说,无法通过这种方式实现目标。

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