首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GSON的自定义PrintFormatting

GSON的自定义PrintFormatting
EN

Stack Overflow用户
提问于 2019-01-23 12:32:40
回答 1查看 406关注 0票数 0

我在印刷方面遇到了一些麻烦。在印刷方面,GSON有两种选择。

  1. 漂亮印刷
  2. 紧凑印刷

我打算使用修改后的漂亮打印形式,尽管JsonPrintFormatter是用来修改输出格式的类,尽管文档说。我在GSON存储库中找不到那个类!

对于为什么会这样,或者无论如何,我可以修改GSON印刷,有什么想法吗?除此之外,任何用于修改Java语言中JSON的间距或格式的库也会有所帮助。

漂亮的印刷品:

代码语言:javascript
复制
    {
  "classname": "something",
  "type": "object",
  "version": 1,
  "properties": [
    {
      "propertyname": "something1",
      "type": "String",
      "length": 255
    },
    {
      "propertyname": "something2",
      "type": "Date",
      "length": 10
    }
  ]
}

紧凑型印刷:

代码语言:javascript
复制
{"classname":"something","type":"object","version":1,"properties":[{"propertyname":"something1","type":"String","length":255},{"propertyname":"something2","type":"Date","length":10}]}

我的印刷风格:

代码语言:javascript
复制
{
  "classname": "something",
  "type": "object",
  "version": 1,
  "properties": [
    {"propertyname": "something1","type": "String","length": 255},
    {"propertyname": "something2","type": "Date","length": 10}
  ]
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-23 21:09:41

好吧,目前它只是在进行中,但是对于只使用一个数组的字符串来说,这应该是有用的。将研究如何使它更稳定和能够处理更复杂的结构。

代码语言:javascript
复制
  private static String reformat(String og){
    String reformattable = og;
    String[] parts = reformattable.split("\\[",2);
    String arrayPart = parts[1];
    String arrayOnly = arrayPart.split("]",2)[0];
    reformattable = arrayOnly.replaceAll("\\{\n","{");
    reformattable = reformattable.replaceAll("\",\n", "\\\",");
    reformattable = reformattable.replaceAll(" +"," ");
    reformattable = reformattable.replaceAll("\\{ ","   {");
    reformattable = reformattable.replaceAll("\n }","}");

    return og.replace(arrayOnly,reformattable);
} 

结果应该如下所示(至少对于我的简单类是这样的):

代码语言:javascript
复制
{
 "classname": "test",
 "properties": [
   {"propertyname": "1", "length": 1},
   {"propertyname": "1", "length": 1}
 ]
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54327375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档