Pobranie konkretnej wartości ze stringa.

Pobranie konkretnej wartości ze stringa.
sebastian33444
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

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.

Allocer44
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 9 lat
1

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.


Idiots, idiots everywhere.
0

Może kawałek kodu coś podpowie:

Kopiuj
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

Black007
  • Rejestracja:ponad 21 lat
  • Ostatnio:2 dni
0
Kopiuj
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ń.


"Nie popełnia błędów tylko ten, kto nic nie robi"
edytowany 2x, ostatnio: Black007
W0
  • Rejestracja:ponad 12 lat
  • Ostatnio:około godziny
  • Postów:3592
0

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.

edytowany 1x, ostatnio: wartek01
KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
1

Przecież to JSON. użyj jacksona/gson 'a


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
sebastian33444
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Faktycznie to JSON. Głupie niedopatrzenie, dzięki za pomoc!

KA
Tak tak już nie sciemniaj że wiedziałeś co to json
sebastian33444
Zbędny komentarz...
niezdecydowany
niezdecydowany
sprzedam rower
niezdecydowany
niezdecydowany
to był zbędny komentarz.
KA
Dobrze. Ale nie wierzę że wiedziałeś co to json i nie zauważyłeś że ten strong to json

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.