Array de Objetos JSON

Galera estou tentando fazer uma estrutura assim usando o json:

[{'nome': 'projeto UM','opcoes': [{'nome': 'primeira empresa'},{'nome': 'segunda empresa'},{'nome': 'terceira empresa'}]},{'nome': 'projeto DOIS','codigo': 2,'opcoes': [{'nome': 'quarta empresa'},{'nome': 'quinta empresa','opcoes': [{'nome': 'filial 1'},{'nome': 'filial 2'}]},{'nome': 'sexta empresa'}]},{'nome': 'projeto TRÊS'}];

Estou montando assim:

JSONObject json = new JSONObject();
            json.put("nome", "projeto UM");
            json.put("opcoes", "");

Mais como vou fazer um array de objetos como esta no exemplo acima se o put(…) so me retorna um objeto de cada vez…

Como Faço com json para que tenha uma saida como mostrada acima?

Desde já agradeço…