Can a JSON array contain objects of different key/value pairs?

You can use any structure you like. JSON is not schema based in the way XML is often used and Javascript is not statically typed.

you can convert your JSON to a JS object using JSON.parse and then just test the existence of the property

var obj = JSON.parse(jsonString);
if(typeof obj.example[0].firstName != "undefined") {
   //do something
}

It doesn't matter you can mix and match as much as you want.

You could just test it

typeof someItem.example !== 'undefined' // True if `example` is defined.

You are free to do what you want with the contents of the array. Jus remember about this before you try to iterate an access properties of each item in your array.

one thing: you won't be able to deserialize this to anything else than an array of object in your server side, so don't have surprises later.

as a hint, maybe you could include a common field in the objects specifying the "type" so later is easy to process.

var array = [{"type":"fruit", "color":"red"},
{"type":"dog", "name":"Harry"}];

var parser = {
    fruit:function(f){
   console.log("fruit:" + f.color);
    },
    dog: function(d){
    console.log("dog:"+d.name);
    }};

for(var i=0;i<array.length;i++){
    parser[array[i].type](array[i]);
}