相关疑难解决方法(0)

使用Jackson将JSON字符串转换为Pretty Print JSON输出

这是我的JSON字符串:

{"attributes":[{"nm":"ACCOUNT","lv":[{"v":{"Id":null,"State":null},"vt":"java.util.Map","cn":1}],"vt":"java.util.Map","status":"SUCCESS","lmd":13585},{"nm":"PROFILE","lv":[{"v":{"Party":null,"Ads":null},"vt":"java.util.Map","cn":2}],"vt":"java.util.Map","status":"SUCCESS","lmd":41962}]}
Run Code Online (Sandbox Code Playgroud)

我需要将上面的JSON String转换为Pretty Print JSON Output(使用Jackson),如下所示:

{
    "attributes": [
        {
            "nm": "ACCOUNT",
            "lv": [
                {
                    "v": {
                        "Id": null,
                        "State": null
                    },
                    "vt": "java.util.Map",
                    "cn": 1
                }
            ],
            "vt": "java.util.Map",
            "status": "SUCCESS",
            "lmd": 13585
        },
        {
            "nm": "PROFILE
            "lv": [
                {
                    "v": {
                        "Party": null,
                        "Ads": null
                    },
                    "vt": "java.util.Map",
                    "cn": 2
                }
            ],
            "vt": "java.util.Map",
            "status": "SUCCESS",
            "lmd": 41962
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以根据我上面的例子给我一个例子吗?如何实现这种情况?我知道有很多例子,但我无法正确理解这些例子.通过一个简单的例子可以获得任何帮助.

更新:

以下是我使用的代码:

ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.defaultPrettyPrintingWriter().writeValueAsString(jsonString));
Run Code Online (Sandbox Code Playgroud)

但这不适用于我需要输出的方式,如上所述.

这是我用于上述JSON的POJO:

public class UrlInfo implements …
Run Code Online (Sandbox Code Playgroud)

java json pretty-print jackson

146
推荐指数
7
解决办法
20万
查看次数

使用Spring MVC for REST时,如何让Jackson能够打印出漂亮的JSON?

在使用Spring MVC开发REST服务的同时,我希望在开发中渲染JSON"漂亮打印",但在生产中正常(减少空白).

json spring-mvc pretty-print jackson

46
推荐指数
6
解决办法
4万
查看次数

如何获得精美打印的JSON代码的紧凑形式?

如何让Jackson的build()方法完美打印其JSON输出?这是一个漂亮打印丑陋形式的JSON代码的示例.我需要使用JSON代码的漂亮版本然后将其转移到丑陋的fom.怎么做到呢?我需要转换这个:

 {
   "one" : "AAA",
   "two" : [ "BBB", "CCC" ],
   "three" : {
     "four" : "DDD",
     "five" : [ "EEE", "FFF" ]
   }
 }
Run Code Online (Sandbox Code Playgroud)

对此:

{"one":"AAA","two":["BBB","CCC"],"three":{"four":"DDD","five":["EEE","FFF"]}}
Run Code Online (Sandbox Code Playgroud)

我试图删除'\n','\ t'和''字符; 但是值中可能有一些这样的字符,所以我不能这样做.还有什么可以做的?

java json pretty-print jackson

20
推荐指数
4
解决办法
2万
查看次数

定制漂亮的打印机使用Jackson库

我在Map对象中有数据,我想以json格式打印它.我尝试使用DefaultPrettyPrinter

mapper.writerWithDefaultPrettyPrinter().writeValue(filePath, mapObject);
Run Code Online (Sandbox Code Playgroud)

但格式不是我的预期.我得到这样的输出:

{
  "arrVals" : ["value-1","value-2"]
}
Run Code Online (Sandbox Code Playgroud)

我想要这样的输出:

{
  "arrVals" : [
    "value-1",
    "value-2"
  ]
}
Run Code Online (Sandbox Code Playgroud)

java json pretty-print jackson

10
推荐指数
1
解决办法
4775
查看次数

在写入File之前格式化JSON

目前我正在使用Jackson JSON处理器将偏好数据和文件等写入文件主要是因为我希望高级用户能够修改/备份这些数据.杰克逊非常棒,因为它非常容易使用,并且显然表现得很好(参见这里),但是我似乎唯一遇到的问题是当我运行myObjectMapper.writeValue(myFile, myJsonObjectNode)时将所有数据写入ObjectNode一行.我想要做的是将JSON格式化为更加用户友好的格式.

例如,如果我将一个简单的json树传递给它,它将编写以下内容:

{"testArray":[1,2,3,{"testObject":true}], "anotherObject":{"A":"b","C":"d"}, "string1":"i'm a string", "int1": 5092348315}
Run Code Online (Sandbox Code Playgroud)

我希望它在文件中显示为:

{
    "testArray": [
        1,
        2,
        3,
        {
            "testObject": true
        }
    ],
    "anotherObject": {
        "A": "b",
        "C": "d"
    },
    "string1": "i'm a string",
    "int1": 5092348315
}
Run Code Online (Sandbox Code Playgroud)

是否有人知道我可以用杰克逊这样做的方式,或者我是否必须从杰克逊获取JSON字符串并使用另一个第三方lib来格式化它?

提前致谢!

java json jackson

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

jackson ×5

json ×5

java ×4

pretty-print ×4

spring-mvc ×1