I tried alert(myJson["1"]["num_inquiries"]) and alert(myJson["num_inquiries"]) but they don't work.
Any help would be appreciated.
04-19-2014, 03:30 PM
The thing about .stringify() is that it doesn't always display the true keys or values, at least in terms of their type.
Have you tried:
Also, as a side note, it's a good habbit to use console.log() instead of alert(), especially if you are trying to debug. Alerts don't always display variables and information related to code very well, so it's best to display them in the console where you can see a better representation. Things like objects are actually shown as objects.
04-19-2014, 09:44 PM
I'm getting a "num_inquiries is not defined" error now.
04-19-2014, 09:54 PM
console.log(myJson.num_inquiries); works. Any idea why it would place the 2nd part into an array?
04-19-2014, 09:59 PM
I guess I'll have to ask what your actual JSON object looks like then. If I use JSON.parse() on the JSON string you provided my code calls the variable correctly. But that's just the parsed JSON object of that string, which isn't an exact representation of the actual JSON object.
One thing you can do is
If you press F12 and click on the 'Console' tab in your browser you'll see your JSON object displayed in this developer console. I can't really speak on how it works in other browsers (as I don't use them frequently enough for dev/debuggin, only for display/functionality test), but in Chrome you'll be able to click and open this JSON object and expand out all of the key/value pairs inside. This would be a more true representation of your object and allow you to see the actual keys you need to reference. If the key is a string name it will contain quotes around it. This should help you see exactly what key values you need to call to get your value.
arr = ["cat"]
as you know, your JSON consists of three objects. each object contains one array. so of course
is a valid reference to an object. now, this is where the issue of accessing "num_inquries" comes into issue. first, you have to reference the array index that contains the object, and then you can reference the object.
doesn't work because it's just as invalid as my "cat" example was. when you access the "1" object, you then have to access the array index:
and then you'll be able to reference the object within:
1. if you control what creates the JSON, get rid of the array. it's redundant if all your objects are always in index 0 and the arrays are never longer than 1 item.
2. console.log is better than alert (except for quickly listing out items in an array ;) )
3. bionoid's example was pretty good, except it missed a line referring only to object "1"