java json

            String batchNo=request.getParameter("batchNo");
            String contractCode=request.getParameter("contractCode");
            String repayAmt=request.getParameter("repayAmt");
            String repayType=request.getParameter("repayType");
            BatchRepayRequest repayRequest=new BatchRepayRequest();
            RequestVO requestVO=new RequestVO();
            List<RequestVO> list=new ArrayList<RequestVO>();
            repayRequest.setBatchNo(batchNo);
            if (batchNo==null || batchNo.equals("")) {
                response.getWriter().write("缺失批次号...");
            }
            requestVO.setContractCode(contractCode);
            requestVO.setRepayAmt(repayAmt);
            requestVO.setRepayType(repayType);
            if (requestVO==null || requestVO.equals("")) {
                response.getWriter().write("缺失参数...");
            }
            list.add(requestVO);
            repayRequest.setDetail(list);

我需要将repayRequest转为json,然后再转为list来调用别人的接口,在调用别人的接口的时候再吧list转为json,返回结果

这是需要的json格式

{
    "batchNo":"xx_20170120113655",
    "detail":[
        {
            "contractCode":"2017012001",
            "repayAmt":6600,
            "repayType":"REPAY"
        },
        {
            "contractCode":"2017012002",
            "repayAmt":2000,
            "repayType":"REPAY"
        },
        {
            "contractCode":"2017012003",
            "repayAmt":390000,
            "repayType":"ADV_CLEAR"
        },
        {
            "contractCode":"2017012004",
            "repayAmt":6000,
            "repayType":"REPAY"
        }
    ]
}

我需调的方法是 queryBatchReapyResult(List<BatchRepayRequest> beans)
大神求解答,怎样把得到的参数最后转为list?

阅读 3.1k
3 个回答
  1. 封装一个对象objA包含batchNo,List<detail>。

  2. 再封装一个对象objB包含detail中的属性,将detail中的保存成一个list存入objA中的detail中。

  3. 将objA转换成json传出去

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.2.2</version>
        </dependency>

引用上述依赖,ObjectMapper objectMapper = new ObjectMapper();使用objectMapper中的readvalue和writeValue进行转换

新手上路,请多包涵
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.24</version>
        </dependency>

我想你所遇到的应该是JSON数据转换中的BeanToArray问题,可以使用阿里巴巴的fastjson包,轻松解决你的问题,而且代码很简单。
先引入依赖,然后参考文档https://github.com/alibaba/fa... 中的 Sample 1

推荐问题