我试图在JSON文件中获取特定属性的值,但我得到了数组的行内容。
例如,我的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");
}
我尝试了几种方法,但似乎我做错了。
答案 0 :(得分:2)
我只想得到这个:{&#34; type&#34;:&#34;贡献者&#34; }
然后得到那个值(大致)就像这样
bindings.getJSONObject(0).getJSONObject("type3")
答案 1 :(得分:2)
您可以使用JsonPath.read将所有Type3值作为列表。
列表值= JsonPath.read(绑定,&#34; .. type3&#34;);