2017-07-26 81 views
0

我有一個json數據(我無法更改)存儲在我的nosql Mongodb數據庫中。 這是數據看起來的樣子:從json數據創建java模型

{"scans" : { 
     "Bkav" : { 
      "detected" : false, 
      "version" : "1.3.0.4924", 
      "result" : null, 
      "update" : "20140214" 
     }, 
     "MicroWorld" : { 
      "detected" : false, 
      "version" : "12.0.250.0", 
      "result" : null, 
      "update" : "20140216" 
     }, 
     "nProtect" : { 
      "detected" : false, 
      "version" : "2014-02-16.01", 
      "result" : null, 
      "update" : "20140216" 
     } 
    } 
} 

我想要做的是建立基於Spring的引導,以檢索存儲在蒙戈數據休息web服務,所以我需要設置我模型(基於JSON格式),這就是我想出了:

public class Scans 
{ 
    @Id 
    private String id; 
    private Bkav Bkav; 
    private NProtect nProtect; 
    private MicroWorld-eScan MicroWorld-eScan; 

    //getters and setters 

    @Override 
    public String toString() 
    { 
     return "ClassPojo [Bkav = "+Bkav+", nProtect = "+nProtect+", MicroWorld-eScan = "+MicroWorld-eScan+"]"; 
    } 
} 

和每個掃描器(噶,的nProtect,微觀世界,eScanAV的)我有這個相同的模式:

public class "scanner" //that may be one of the above names; 
{ 
    private String update; 
    private String result; 
    private String detected; 
    private String version; 
    //getters and setters 
    @Override 
    public String toString() 
    { 
     return "ClassPojo [update = "+update+", result = "+result+", detected = "+detected+", version = "+version+"]"; 
    } 
} 

那麼,是否可以爲所有的掃描儀只能創建一個類,因爲我比我在我的問題

+0

衝突,我認爲你的JSON需要被反序列化爲一個'地圖<字符串,掃描儀>' –

回答

1

首先列出的更多,MicroWorld-eScan是不是有效的類或變量名

根據我的經驗,你需要有這種模式

public class Scans { 
    @Id 
    private transient String id; 
    private TreeMap<String, Scanner> scans; 

    // for example 
    public Bkav getBkav() { 
     return map.get("Bkav"); 
    } 

我會推薦不同的名稱不能與java.util.Scanner