簡體   English   中英

Java中是否有參數樹實現?

[英]Is there a Parameter Tree implementation in Java?

Java程序需要一長串輸入(參數),攪動一點並吐出一些輸出。

我需要一種合理地組織這些參數的方法,因此在輸入txt文件中,我想這樣寫它們:

parameter1 = 12
parameter2 = 10
strategy1.parameter1 = "goofy"
strategy2.parameter4 = 100.0

然后讀取該txt文件,將其轉換為Java對象,實例化它們時可以傳遞給它們。

我現在pyqtgraph有ParameterTree ,它很容易使用; Java中有類似的東西嗎? 我確信其他人也有同樣的需求,所以我不想重新發明輪子。

(其他樹形結構也可以,當然,我只想簡單易讀)

一種方法是將input.txt轉換為input.json

{
    "parameter1": 12,
    "parameter2": 10,
    "strategy1": {
        "parameter1": "goofy"
    },
    "strategy2": {
        "parameter4": 100.0
    }
}

然后使用Jackson來將input.json反序列化為以下之一:

  1. 一個Map<String, Object>實例,您可以對其進行深入導航以獲取所有參數
  2. 您自己的某個類的實例,該實例模仿input.json的結構,您的參數將駐留在該結構中
  3. 一個JsonNode實例,它將是樹的根

(1)的優點是操作簡便,您無需創建任何類即可讀取參數,但是您需要遍歷該地圖,向下轉換從該地圖獲得的值,並且您需要知道預先設置鍵(鍵與json對象的屬性名稱匹配)。

(2)具有在反序列化時可以正確鍵入所有內容的優點; 無需轉換任何內容,因為每種類型都是您自己的類的一個字段,它們代表參數的結構。 但是,如果input.json文件的結構發生了變化,則還需要更改類的結構。

(3)是所有方法中最靈活的一種,我認為這是最接近您所想的方法,但由於它太低級,因此它是最乏味的處理方法。 請參閱本文以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM