我正在开发一个数据分析项目,我们在这个项目中代表了您在语言中找到的许多基本实体。尽管如此,我想找到一种更好的方法来打印出他们的对象图。因此,例如,我们可能会:
Function: Average
Description: some description
Overload #1:
parameter-set: paramset-a
columns:
currency: string
value: double
scale: integer
result-set: result-set-a
preference: first-find
Overload #2: ...
Overload #3: ...
我的问题
让我们说,在上面的例子中,Function
是我的根对象。函数有一些属性和一系列重载,每个重载都有自己的属性和子对象。
是否有一个库可以帮助我以格式良好的方式在根函数下打印对象图?
PS:上面的例子相对简单;在我们的许多情况下,对象层次结构深度为6-10级,这就是真正的问题出现的时候。答案 0 :(得分:1)
这远非完美,但这个问题确实值得回答。
https://github.com/EsotericSoftware/jsonbeans是实现类似的一种方法。它将任意Java对象(无需注释字段或任何内容)转换为JSON,并包括一个漂亮的打印方法。它可以大约执行您要的操作。
使用此库,您可以执行以下操作:
Json json = new Json();
System.out.println(json.prettyPrint(person));
对于某些示例数据,您可能获得的输出如下所示:
{
"name": "Nate",
"age": 31,
"numbers": [
{
"name": "Home",
"class": "com.example.PhoneNumber",
"number": "206-555-1234"
},
{
"name": "Work",
"class": "com.example.PhoneNumber",
"number": "425-555-4321"
}
]
}