Garrett,
You may want to start by walking through the JSON parts of a tutorial like this one:
http://www.ibm.com/developerworks/xml/library/x-andbene1/There are a zillion of these tut's around the place that'll probably get you started.
For the most part, there are libs that do the work of reading this stuff, and something like the above could be evolved to read (and keep reading) the JSON delivery from Vera.
You might also consider using the sdata instead of the user_data[2], since the latter contains a lot of stuff you really don't need as a Control Point (but do need if you're going to "edit" Vera internals). It should also cutdown on memory footprint, since the sdata is significantly smaller than the user_data[2], and it has less sensitive data in it (like, no MAC Addresses for each of your UPnP Devices, etc)
For me, I'd leave it in the JSON object, instead of converting it to another datastructure, until I had proof it wasn't suited to the task. You could spin a lot of wheels "tuning" this before it's time, and early tuning generally doesn't get the results you'd expect.
I suspect you'll want to spend a bunch of time here, just coming to grips with how the HTTP calls to Vera work, both locally, and remotely (and when someone transitions from Local-to-Remote or vice-versa)