OK, I have been searching through this site to find anything similar or enlightening, but I am completely stuck. I am getting some valid JSON and need to parse through it to extract prices. I'm not getting very far.
Here's the JSON:
{
"result": "success",
"prices": {
"vdc": {
"monthly": "1.00"
},
"network": {
"private": {
"monthly": "2.00"
},
"public": {
"\/22 (1,111 IP Addresses)": {
"monthly": "3.00"
},
"\/21 (2,222 IP Addresses)": {
"monthly": "4.00"
},
"\/20 (3,333 IP Addresses)": {
"monthly": "5.00"
},
"\/19 (5,555 IP Addresses)": {
"monthly": "6.00"
},
"\/18 (6,666 IP Addresses)": {
"monthly": "7.00"
},
"\/17 (7,777 IP Addresses)": {
"monthly": "8.00"
},
"\/16 (8,888 IP Addresses)": {
"monthly": "9.00"
},
"\/25 (111 IP Addresses)": {
"monthly": "10.00"
},
"\/26 (55 IP Addresses)": {
"monthly": "11.00"
},
"\/27 (22 IP Addresses)": {
"monthly": "12.00"
},
"\/28 (11 IP Addresses)": {
"monthly": "13.00"
},
"\/29 (5 IP Addresses)": {
"monthly": "14.00"
},
"\/23 (900 IP Addresses)": {
"monthly": "15.00"
},
"\/24 (333 IP Addresses)": {
"monthly": "16.00"
}
}
},
"blocks": {
"22": {
"monthly": "17.00"
},
"21": {
"monthly": "18.00"
},
"20": {
"monthly": "19.00"
},
"19": {
"monthly": "20.00"
},
"18": {
"monthly": "21.00"
},
"17": {
"monthly": "22.00"
},
"16": {
"monthly": "23.00"
},
"25": {
"monthly": "24.00"
},
"26": {
"monthly": "25.00"
},
"27": {
"monthly": "28.00"
},
"28": {
"monthly": "29.00"
},
"29": {
"monthly": "30.00"
},
"23": {
"monthly": "24.00"
},
"24": {
"monthly": "25.00"
}
},
"server": {
"cpu": {
"monthly": "26.00"
},
"ram": {
"monthly": "27.00"
}
},
"volume": {
"gb": {
"monthly": "28.00"
}
},
"snapshot": {
"gb": {
"monthly": "29.00"
}
}
}
}
Tested and validated at jsonlint [dot] com.
After much trying, testing, trying, banging head against my keyboard, trying...this is what I currently have, but it's not producing the desired results (I'll tell you what those are, right after the code snippet).
function gp(x){
for(var i in x){
console.log('700: ', x[i] );
if(x[i] != 'success'){
console.log(733);
console.log(x[i]);
for(var j in x[i]){
console.log(736);
console.log(x[i][j]);
}
}
}
}
In the console, I see something like this:

What I really would like to see (or find or parse to) is, for example, the monthly price for "gb" from the "volume" element (or is it an item?).
Ideally, I would like to find "volume", "ram" and "cpu" – verify that it's the volume, ram and cpu – then get the monthly price. I did try a few things with JSON parsing, but obviously, I haven't mastered that quite yet either.
Any help would be greatly appreciated.
volumecan be found usingx.volume,ramcan be found usingx.server.ram, andcpucan be found usingx.server.cpu. Does that answer your question?