2017-02-24 13 views
-3

我有一個這樣的數組: [版本{self = https://tms.something.com/rest/api/2/version/23152,id = 23152,name = RB_8.0.2,description = RB_8.0.2,isArchived = false,isReleased = true ,releaseDate = 2016-01-01T00:00:00.000 + 05:30}] 該數組是由getAffectedVersions的jira-rest-java-api支持的方法的結果。 我想從這個僅檢索名稱即RB_8.0.2,並希望得到它印 我的對象名稱是issueDetails1和issueDetails1.getAffectedVersions給出了上述數組作爲結果 我嘗試了很多的東西,如:想要使用java檢索數組中的值

Set<String> lists = issueDetails1.getSubComponents(); 
    String[] stringArray = lists.toArray(new String[lists.size()]); 
    int size = lists.size(); 
    for(int i=0;i<size;i++) 
    { 
     System.out.println(((JSONArray) lists).get(2)); 
    } 

你能推薦一些其他的方式嗎?

+0

這給了我NullPointerException異常,可有人建議如何去了解呢? – Biswajit

+0

@pzaenger抱歉,我沒有得到你,請你詳細說明一下? – Biswajit

+1

爲什麼你有一個價值我循環,如果你真的從來沒有使用我? – kleopi

回答

0

你很清楚地試圖解析一個Json,而你對JSONARRAY的轉換表明你已經有一個庫可以做到這一點。

我建議你閱讀你的json庫並使用它。

但是,你想簡單的情況下,應該做的伎倆:

String theNameYouWanted = list.stream().filter(e -> e != null && e.contains("name=")).map(string -> string.replace("name=", "")).findAny().orElse("not found"); 
+0

對不起說了,但我仍然得到nullPointerException – Biswajit

+0

我編輯過濾器,以防止空項目。不過,我相信這是你的設置列表,它是空的,這是你的責任(或者甚至在你的代碼中的其他地方,這更多的是你的責任,事先檢查它爲空)。 –