Witam.
Mam taki o to String: {"self":"https://jakisadres.com/rest/api/2/customFieldOption/10342","value":"Email","id":"10342"}
Problem polega na tym, że nie wiem jak pobrać wartość, która znajduje się w cudzysłowie za napisem "value": - w tym przypadku jest to "Email"
Prosze o jakieś porady.
Mnie to bardziej wygląda na jakiegoś JSON'a. Wtedy wartość pobierasz normalnie z obiektu.
Jeśli to na pewno jest string, to jakimś regexem będzie trzeba.
Napisz coś więcej - gdzie to masz, jak to pobierasz, z czego korzystasz.
Może kawałek kodu coś podpowie:
public Map<String, String> issueDetails (String key, JiraRestClient client){
IssueRestClient issueClient = client.getIssueClient();
Issue issue = issueClient.getIssue(key).claim();
System.out.println(issue.getField("customfield_10900").getValue());
Map<String, String> issueDetails2 = new HashMap<String, String>();
issueDetails2.put("initialization", issue.getField("customfield_10900").getValue().toString());
System.out.println(issue.getField("customfield_10900").getValue().toString());
Jest to kawałek kodu pobierający wartość inicjalizacji zgłoszenia w Jira Atlassian
String temp = "{"self":"https:\/\/jakisadres.com\/rest\/api\/2\/customFieldOption\/10342","value":"Email","id":"10342"}";
temp = temp.substring(temp.indexOf("\"value\":\"" +9);
temp = temp.substring(0, temp.indexOf("\""));
return temp;
coś w ten deseń.
Usuwasz pierwszy i ostatni znak (brackety - "{" oraz "}"). Potem split po "","" (przecinek pomiędzy dwoma cudzysłowiami), potem każdy element dzielisz znowu po "":"" (dwukropek pomiędzy dwoma cudzysłowiami) i usuwasz znaki """ (cudzysłów) na początku pierwszego i końcu drugiego elementu.
W rezultacie dostajesz tablicę dwuelementowych tablic, którą możesz sobie np. skonwertować do mapy, ewentualnie wybrać taką dwuelementową tablicę, której pierwszy element będzie równy "value".
Jeśli korzystasz z Javy 8 to można to zrobić w jednej linijce za pomocą Streamów.
Przecież to JSON. użyj jacksona/gson 'a
Faktycznie to JSON. Głupie niedopatrzenie, dzięki za pomoc!