En primer lugar, creo que lo está llamando mal. "JSON" significa "notación de objetos de JavaScript": es solo una especificación para representar algunos datos en una cadena que imita explícitamente los literales de objetos JavaScript (y matriz, cadena, número y booleano). Está intentando crear un objeto JavaScript dinámicamente, por lo que la palabra que está buscando es "objeto".
Con esa pedantería fuera del camino, creo que está preguntando cómo establecer las propiedades de objeto y matriz.
// make an empty object
var myObject = {};
// set the "list1" property to an array of strings
myObject.list1 = ['1', '2'];
// you can also access properties by string
myObject['list2'] = [];
// accessing arrays is the same, but the keys are numbers
myObject.list2[0] = 'a';
myObject['list2'][1] = 'b';
myObject.list3 = [];
// instead of placing properties at specific indices, you
// can push them on to the end
myObject.list3.push({});
// or unshift them on to the beginning
myObject.list3.unshift({});
myObject.list3[0]['key1'] = 'value1';
myObject.list3[1]['key2'] = 'value2';
myObject.not_a_list = '11';
Ese código se acumulará el objeto que ha especificado en su pregunta (salvo que yo llamo MyObject en lugar de myJSON). Para obtener más información sobre el acceso a propiedades, recomiendo el Mozilla JavaScript Guide y el libro JavaScript: The Good Parts.
¿Realmente quiere decir JSON (que es una cadena) o una colección de objetos, matrices, cadenas y números JavaScript (que se pueden serializar a JSON)? – Quentin