ArrayList em Json

Boa tarde, estou com o seguinte problema:

Possuo uma Classe A, e dentro dessa classe A possuo um ArrayList com Classe B. Quero retornar em um Webservice um JSON com esses dados mas da erro devido ao ArrayList dentro da classeA, por exemplo:

[
  {
      nome: "nome1",
      sobreNome: "sobre1"
      classeB: [
                {
                  nomeInterno: "teste" 
                 }
                ]
  },
  {
      nome: "nome2",
      sobreNome: "sobre2"
      classeB: [
                {
                  nomeInterno: "teste2" 
                 }
                ]
  }
]

Sei que com um ArrayList simples é possível transformar em JSON assim:

ArrayList<String> mylist = new ArrayList<String> ();
mylist.add("abc");
mylist.add("cfd");
mylist.add("ert");
mylist.add("fg");
mylist.add("ujk");
String json = new Gson().toJson(mylist);

Porém, quando o ArrayList está encapsulado dentro da Classe a ser transformada em JSON como deve ser feito?

Edit:Estou usando API de JSON da google

Olá, primeiramente vc deveria postar o erro que obteve. Não sei como está configurado seu webservice, mas pq vc não usa um @Produces(MediaType.APPLICATION_JSON) no método.

Olá, já estou usando assim, pelo que parece se eu colocar um retorno de string e estiver com application_json já transforma em JSON, é isso mesmo?

Nops, vc não coloca retorno tipo String pra ele gerar o json. O JSON é gerado a partir de um Objeto, a ideia é que vc desenvolva seus métodos com base na OO sem se preocupar com conversão, ai qnd vc usa aquela anotação ele converte o retorno em um JSON, seu retorno pode ser um Map ou outro objeto qualquer (não String, pq n tem lógica converter String pra json).

Ok, eu tentei de várias formas e não deu certo. Coloquei no pastebin todas as possbilidades que consegui encontrar e nenhuma deu certo, pode dar uma olhada e ver se consegue ajudar?

https://pastebin.com/GL30xBwX

É um trabalho da faculdade, a gente nem precisava usar isso mas meu grupo está usando porque queremos aprender mais do que o pouco que ensinam, então estou tentando fazer sozinho e ta complicado suahsuhausha

Consegui descobrir o motivo de que eu não estava conseguindo.

Ao consultar a Classe A,a lista de Classe B é retornada null, e ao retornar o JSON no WebService, ocorria NullPointer devido a listar estar nula.

Para resultar coloquei um new ArrayList<>(); antes de fazer o retorno da API.

Está correto o Hibernate retornar null para a lista da Classe B nesse caso?