Does your recommendation hold if each skill has multiple keys associated with it? Base damage, energy cost, etc.?
Of course. Each skill is still an object which can contain multiple keys or even nested objects and arrays.
For example:
{
"Skills": { "Punch": {"baseDamage":1, "maxDamage":3, "cost": {"mana": 0, "energy": 5}}, "Kick": {....}
Arrays in JSON may be useful when you need to store lots of similar values. For example an array of coordinates:
"PatrolPath": [{"x":1, "y":1}, {"x":2, "y":2}, {"x":4, "y":2}, ....]
So if I parse Ajax.LastData, it remains parsed?
Yes, once you load data into a JSON object, it stays there of course. And later you can change it, add new keys, delete keys etc.