Я пытаюсь получить значение определенного атрибута в файле JSON, но вместо этого получаю содержимое строки из массива.Получение определенного значения внутри массива JSON (Java)
Например вот мой файл в формате JSON:
{
"head": {
"vars": [ "type1" , "pred" , "type2" ]
} ,
"results": {
"bindings": [
{
"type1": { "type": "Collection" } ,
"type2": { "type": "has" } ,
"type3": { "type": "contributor" }
} ,
{
"type1": { "type": "Collection2" } ,
"type2": { "type": "has2" } ,
"type3": { "type": "contributor2" }
}
]
}
}
Я хочу, чтобы получить только значение атрибута «type3» Но мой следующий код получает меня все из них.
JSONObject obj = new JSONObject(json);
JSONObject results = obj.getJSONObject("results");
JSONArray bindings = results.getJSONArray("bindings");
for (int i=0; i<bindings.length(); i++)
{
JSONObject x = bindings.getJSONObject(i);
x.getJSONObject("type3");
}
Я пробовал несколько подходов, но, похоже, я делаю это неправильно.
Почему вы выполняете итерацию на json, который является единственным объектом, вы не должны итерации по привязкам под результатом, например .. for (int i = 0; i
Я попытался с (int i = 0; i
ichmode
Я думаю, здесь вы получаете значение типа3 как «{« type »:« contributor2 »}», и это правильно, что еще вы хотите get? –