Привет всем, что я пытаюсь получить необходимую информацию из строки JSON.
Вот как выглядит мой JSON:
{
"xmlns:jp": "http://jazz.net/xmlns/prod/jazz/process/1.0/",
"childNodes": [{
"childNodes": [{
"childNodes": ["https://zzzz.zzzz.zxzzxzxz:9443/qm/process/project-areas/_rutR33fwEee_eeo4ry7Vg/members/bob"],
"tagName": "jp06:url"
}, {
"childNodes": ["https://zzzz.zzzz.zxzzxzxz:9443/jts/users/bob"],
"tagName": "jp06:user-url"
}, {...etc.....
Это мой java code:
JSONObject jsonObject = JSONML.toJSONObject(theReturnedResult);
JSONArray jsonArray1 = jsonObject.getJSONArray("childNodes");
JSONObject device = jsonArray1.getJSONObject(0);
JSONArray vendors = device.getJSONArray("childNodes");
List<String> result = new ArrayList<>();
vendors.forEach(o -> {
if (o instanceof JSONObject) {
JSONObject crt = (JSONObject) o;
String blah = crt.getString("tagName");
System.out.println(crt.getString("tagName"));
if (blah.equals("jp06:role-assignments-url")) {
String blah1 = crt.getString("tagName");
mapHash.put(owner, crt.getString("childNodes"));
} else if (crt.has("ns6:owner")) {
//See who's the owner of this TSR
owner = crt.getString("childNodes");
}
}
});
String blah1 = crt.getString ("tagName"); возвращает второе tagName , но когда оно входит в if / than тогда я не могу найти его, потому что он говорит мне JSONObject ["childNodes"], а не строку.
Я пытаюсь получить значение URL, назначенное ChildNodes . Поэтому я не уверен, как работает первая строка String blah = crt.getString ("tagName"), но когда я пытаюсь использовать другую строку в операторе if / else, она не возвращает URL - только ошибка ниже?
Я пытаюсь получить значение "https://zzzz.zzzz.zxzzxzxz: 9443 / кв. М / процесс / проект-области / _rutR33fwEee_eeo4ry7Vg / members / bob .
Справка будет здорово!