[英]Pretty-print object hierarchy in Java?
我正在從事一個數據分析項目,我們在該項目中代表了您在一種語言中找到的許多基本實體。 盡管出於調試目的,我想找到一種更好的方法來打印它們的對象圖。 因此,例如,我們可能有:
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 層深,這就是真正的問題出現的時候。
這遠非完美,但這個問題確實值得回答。
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"
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.