Reputation: 35
I'm trying to parse this code : I need the "name" attribute under "docs" under "response".
{
"responseHeader": {
"status": 0,
"QTime": 1,
"params": {
"q": "Lecture1-2",
"_": "1399736575991",
"wt": "json"
}
},
"response": {
"numFound": 6,
"start": 0,
"docs": [
{
"id": "TWINX2048-3200PRO",
"name": "CORSAIR XMS 2GB (2 x 1GB) 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) Dual Channel Kit System Memory - Retail",
"manu": "Corsair Microsystems Inc.",
"manu_id_s": "corsair",
"cat": [
"electronics",
"memory"
],
"features": [
"CAS latency 2,\t2-3-3-6 timing, 2.75v, unbuffered, heat-spreader"
]}}
I tried to do it like :
JSONObject nodeRoot = new JSONObject(result);
JSONObject nodeStats = nodeRoot.getJSONObject("response");
String sSDR = nodeStats.getString("docs");
but I'having other result...
Upvotes: 0
Views: 62
Reputation: 133560
"docs": [
is a JSONArray
.
What you have
String sSDR = nodeStats.getString("docs");
Change to
JSONObject nodeStats = nodeRoot.getJSONObject("response");
JSONArray jr = (JSONArray) nodeStats.getJSONArray("docs");
for(int i=0;i<jr.length();i++)
{
JSONObject jb = jr.getJSONObject(i);
String id = jb.getString("id");
}
Upvotes: 1