Сериализация Json с использованием Map в Java - изменить вывод - PullRequest
0 голосов
/ 03 июня 2018

У меня есть этот метод, который возвращает JSON.

  public Map<String,Object> findAllById(Integer id,Integer channelId){


 Object[] electronicBill=null;


try{    
electronicBill =(Object[])ElectronicBillRepository.findAllById(id);
electronicBill=(Object[]) electronicBill[0];
String clave = null;
Date fecha = null ; 
BigInteger numIdentificacion ;
Integer tipoidentificacion ; 

clave=(String) electronicBill[0];
fecha=(Date) electronicBill[1];
numIdentificacion= (BigInteger) electronicBill[2];
tipoidentificacion=(Integer) electronicBill[3];



 proofXML.put("clave", clave);
 proofXML.put("fecha", fecha);
 proofXML.put("tipoIdentificacion", numIdentificacion);
 proofXML.put("numeroIdentificacion", tipoidentificacion);

}catch(Exception e){
    throw new RuntimeException();
}
return proofXML;
}

Предыдущий метод генерирует этот ответ

    {
"clave": "50618101700040226022200100001010000405353010803003",
"fecha": 201601010000000600,
 "tipoIdentificacion": 402260222,
 "numeroIdentificacion": 2
}

Теперь мой запрос связан, с которым я хотел бы показатьвывод следующим образом

  {
    "clave": "50601011600310112345600100010100000000011999999999",
    "fecha": "2016-01-01T00:00:00-0600",
    "emisor": {
    "tipoIdentificacion": "02",
     "numeroIdentificacion": "402260222"
  },

   "comprobanteXml": " "
  }

Любая помощь в связи с этим, заранее спасибо

1 Ответ

0 голосов
/ 03 июня 2018

Вы можете сделать это следующим образом:

  Map<String, Object> main = new LinkedHashMap<>();
    Map<String, Object> sub = new LinkedHashMap<>();
    sub.put("tipoIdentificacion", "02");
    sub.put("numeroIdentificacion", "402260222");

    main.put("clave", "50601011600310112345600100010100000000011999999999");
    main.put("fecha", "2016-01-01T00:00:00-0600");
    main.put("emisor" , sub);
    main.put("comprobanteXml", "test");

Но посмотрите здесь также: Как свободно построить JSON в Java?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...