Como analisar dados Json no android para Firebase Cloud Messaging (FCM)

estou usandoFCM para mensagens push e manipulação de todas as notificações push recebidas em onMessageReceived. Agora, o problema é com a análise de json aninhado que vem dentro dessa funçãoremoteMessage.getData()

Tenho o seguinte bloco vindo como uma notificação por push no dispositivo. o conteúdo da carga útil dos dados pode variar, aqui é revendedor mais tarde.productInfo

{
  "to": "/topics/DATA",
  "priority": "high",
  "data": {
    "type": 6,
    "dealerInfo": {
      "dealerId": "358",
      "operationCode": 2
    }
  }
}

é assim que eu estou analisando

 if(remoteMessage.getData()!=null){

        JSONObject object = null;
        try {
            object = new JSONObject(remoteMessage.getData());       

        } catch (JSONException e) {
            e.printStackTrace();
        }


    }

agora estou recebendo dados com barras negras comoremoteMessage.getData() retornaMap<String,String> provavelmente meu bloco aninhado está sendo convertido em string, mas não tenho certeza.

{
  "wasTapped": false,
  "dealerInfo": "{\"dealerId\":\"358\",\"operationCode\":2}",
  "type": "6"
}

e se eu escreverobject = new JSONObject(remoteMessage.getData().toString()); falhou com a seguinte notificação

{
  "to": "regid",
  "priority": "high",
  "notification" : {
      "body": "Message Body",
      "title" : "Call Status",
      "click_action":"FCM_PLUGIN_ACTIVITY"
   },
  "data": {
    "type": 1,
     "callNumber":"ICI17012702",
     "callTempId":"0",
      "body": "Message Body",
      "title" : "Call Status"
  }
}

erro eu recebo é

> org.json.JSONException: Unterminated object at character 15 of
> {body=Message Body, type=1, title=Call Status, callNumber=ICI17012702,
> callTempId=0}

questionAnswers(5)

yourAnswerToTheQuestion