Il est également possible de résoudre ce problème facilement en utilisant fastjson, jackjson et d'autres outils Ce qui suit est mon approche Si vous pensez que ce n'est pas bon, veuillez commenter. Créer une classe Batch avec les champs batchNo, List<Detail>
public class Batch{
private String batchNo;
private List<Detail> detail;
//下面省略Get和Set方法……
}
public class Detail{
private String contractCode;
private int repayAmt;
private String repayType;
//下面省略Get和Set方法……
}
import org.codehaus.jackson.*; //这里我随便写的,反正就是用JackJson
public class BeanToJson{
public static void main(String[] args){
Batch batch = new Batch();
batch.setBatchNo("XX_20170120113655");
Detail detailA = new Detail();
Detail detailB = new Detail();
detailA.setContractCode("2017012001");
detailA.setRepayAmt(6600);
detailA.setRepayType("REPAY");
detailB.setContractCode("2017012002");
detailB.setRepayAmt(7600);
detailB.setRepayType("REPAY");
List<Detail> details = new ArrayList<Detail>();
details.add(detailA);
details.add(detailB);
batch.setDetail(details);
//上面都是一些设置数据的东西,下面才是要说的
ObejctMapper mapper = new ObjectMapper();
String s = mapper.writeValueAsString(batch);
// 现在 s 就是楼主想要的格式了。代码纯手打,不保证没有问题,想表达的是方法!
}
}
Si vous souhaitez souvent changer Bean en Json, cette méthode est simple et claire.
Il est également possible de résoudre ce problème facilement en utilisant fastjson, jackjson et d'autres outils
Si vous souhaitez souvent changer Bean en Json, cette méthode est simple et claire.Ce qui suit est mon approche Si vous pensez que ce n'est pas bon, veuillez commenter.
Créer une classe Batch avec les champs batchNo, List<Detail>
ArrayList<Map<String,String>> detail = new ArrayList<Map<String,String>>();
Envelopper une carte dans une liste
fastjson, tu le mérites.