java String拼接json的方式

首先要晓得json显示的格式,就晓得下面为啥要这样拼接了

java String拼接json的方式_第1张图片

1.通过转义符号拼接

String content2 ="{\"order\":{\"terminalNumber\":\""+""+"\""
                + ",\"listFlag\":"+"\""+"0"+"\""
                + ", \"pushMode\":"+"\""+"1"+"\""
                + ",\"managerCardNo\":"+"\""+""+"\""
                + ",\"departmentId\":"+"\""+"9F7E9439CA8B4C60A2FFF3EA3290B088"+"\""
                + ",\"paperInvoiceType\":"+"\""+""+"\""
                + ",\"checker\":"+"\""+"王五"+"\""
                + ",\"invoiceNumEnd\":"+"\""+""+"\""
                + ",\"payee\":"+"\""+"李四"+"\""
                + ",\"buyerAddress\":"+"\""+"杭州市"+"\""
                + ",\"invoiceType\":"+"\""+"1"+"\""
                + ",\"specificFactor\":"+"\""+"0"+"\""
                + ",\"orderNo\":"+"\""+"11111332244"+"\""
                + ",\"machineCode\":"+"\""+""+"\""
                + ",\"vehicleFlag\":"+"\""+"1"+"\""
                + ",\"invoiceCode\":"+"\""+""+"\""
                + ",\"buyerPhone\":"+"\""+"15858585858"+"\""
                + ",\"surveyAnswerType\":"+"\""+""+"\""
                + ",\"invoiceDetail\":[{\"specType\":"+"\""+"y460"+"\""
                + ",\"taxExcludedAmount\":"+"\""+"0.88"+"\""
                + ",\"invoiceLineProperty\":"+"\""+"0"+"\""
                + ",\"favouredPolicyName\":"+"\""+"0"+"\""
                + ",\"num\":"+"\""+""+"\""
                + ",\"withTaxFlag\":"+"\""+"1"+"\""
                + ",\"tax\":"+"\""+"0.12"+"\""
                + ",\"favouredPolicyFlag\":"+"\""+"0"+"\""
                + ",\"taxRate\":"+"\""+"0.13"+"\""
                + ",\"unit\":"+"\""+"台"+"\""
                + ",\"deduction\":"+"\""+"0"+"\""
                + ",\"price\":"+"\""+""+"\""
                + ",\"zeroRateFlag\":"+"\""+"0"+"\""
                + ",\"goodsCode\":"+"\""+"1090511030000000000"+"\""
                + ",\"selfCode\":"+"\""+"130005426000000000"+"\""
                + ",\"goodsName\":"+"\""+"电脑"+"\""
                + ",\"taxIncludedAmount\":"+"\""+"1"+ "\"}]"
                + ",\"buyerTel\":"+"\""+"0571-88888888"+"\""
                + ",\"nextInvoiceNum\":"+"\""+""+"\""
                + ",\"clerkId\":"+"\""+""+"\""
                + ",\"remark\":"+"\""+"备注信息"+"\""
                + ",\"managerCardType\":"+"\""+"201"+"\""
                + ",\"buyerTaxNum\":"+"\""+"339901999999198"+"\""
                + ",\"invoiceLine\":"+"\""+"p"+"\""
                + ",\"secondHandCarInfo\": {\"organizeType\":"+"\""+"1"+"\""
                + ",\"vehicleManagementName\":"+"\""+"杭州"+"\""
                + ",\"sellerPhone\":"+"\""+"13888888888"+"\""
                + ",\"sellerName\":"+"\""+"张三"+"\""
                + ",\"brandModel\":"+"\""+"宝马3系"+"\""
                + ",\"vehicleCode\":"+"\""+"LHGK43284342384234"+"\""
                + ",\"licenseNumber\":"+"\""+"浙A12345"+"\""
                + ",\"registerCertNo\":"+"\""+"330022123321"+"\""
                + ",\"sellerAddress\":"+"\""+"杭州文一路888号"+"\""
                + ",\"vehicleType\":"+"\""+"轿车"+"\""
                + ",\"intactCerNum\":"+"\""+""+"\""
                + ",\"sellerTaxnum\":"+"\""+"330100199001010000"+"\"}"
                + ",\"buyerManagerName\":"+"\""+"张三"+"\""
                + ",\"redReason\":"+"\""+"1"+"\""
                + ",\"email\":"+"\""+"[email protected]"+"\""
                + ",\"salerAccount\":"+"\""+""+"\""
                + ",\"salerTel\":"+"\""+"0571-77777777"+"\""
                + ",\"callBackUrl\":"+"\""+"http:127.0.0.1/invoice/callback/"+"\""
                /*
                 * + ",\"additionalElementList\": [{\"elementValue\":"+"\""+"信息值"+"\"" +
                 * ",\"elementType\":"+"\""+"信息类型"+"\"" + ",\"elementName\":"+"\""+"信息名称"+"\"}]"
                 */
                + ",\"billInfoNo\":"+"\""+"1403011904008472"+"\""
                /*
                 * + ",\"vehicleInfo\": {\"taxOfficeCode\":"+"\""+"13399000"+"\"" +
                 * ",\"manufacturerName\":"+"\""+"华晨宝马汽车生产有限公司"+"\"" +
                 * ",\"importCerNum\":"+"\""+""+"\"" +
                 * ",\"certificate\":"+"\""+"WDL042613263551"+"\"" +
                 * ",\"engineNum\":"+"\""+"10111011111"+"\"" +
                 * ",\"taxOfficeName\":"+"\""+"杭州税务"+"\"" + ",\"brandModel\":"+"\""+"宝马3系"+"\""
                 * + ",\"productOrigin\":"+"\""+"北京"+"\"" +
                 * ",\"vehicleCode\":"+"\""+"LHGK43284342384234"+"\"" +
                 * ",\"maxCapacity\":"+"\""+"5"+"\"" + ",\"intactCerNum\":"+"\""+""+"\"" +
                 * ",\"tonnage\":"+"\""+"2"+"\"" + ",\"insOddNum\":"+"\""+""+"\"" +
                 * ",\"idNumOrgCode\":"+"\""+"9114010034683511XD"+"\"" +
                 * ",\"vehicleType\":"+"\""+"轿车"+ "\"}"
                 */
                + ",\"buyerName\":"+"\""+"企业名称/个人"+"\""
                + ",\"invoiceDate\":"+"\""+"2022-01-13 12:30:00"+"\""
                + ",\"invoiceNum\":"+"\""+""+"\""
                + ",\"hiddenBmbbbh\":"+"\""+"0"+"\""
                + ",\"salerAddress\":"+"\""+""+"\""
                + ",\"clerk\":"+"\""+"张三"+"\""
                + ",\"buyerAccount\":"+"\""+"中国工商银行 111111111111"+"\""
                + ",\"nextInvoiceCode\":"+"\""+""+"\""
                + ",\"extensionNumber\":"+"\""+extensionNumber+"\""
                + ",\"additionalElementName\":"+"\""+"测试模版"+"\""
                + ",\"salerTaxNum\":"+"\""+"339901999999199"+"\""
                + ",\"listName\":"+"\""+"详见销货清单"+"\""
                + ",\"proxyInvoiceFlag\":"+"\""+"0"+"\"}}";

java String拼接json的方式_第2张图片

利用postMan不会报错

java String拼接json的方式_第3张图片

2.通过map的方式构造json

Map inputMap = new HashMap();
        Map orderMap = new HashMap();
        orderMap.put("buyerName", requestInfoVO.getInfoClientName());
        orderMap.put("buyerTaxNum", requestInfoVO.getInfoClientTaxCode());
        
        List invDataList = new ArrayList();
        for (int i = 0, len = requestInfoVO.getGoodsList().size(); i < len; i++) {
            InvoiceRequestListItemVO itemVO = requestInfoVO.getGoodsList().get(i);
            Map invoiceDetailMap = new HashMap();
            invoiceDetailMap.put("goodsName", itemVO.getGoodsName());
            invoiceDetailMap.put("goodsCode", "");
            invDataList.add(invoiceDetailMap);
        }
        orderMap.put("invoiceDetail", invDataList);
        inputMap.put("order", orderMap);

        String jsonStr = JSON.toJSONString(inputMap);         

也可以实现以上的效果 亲测有效!!

附带简洁版:原理一样

String inputJson = "";
Map inputMap = new HashMap();
// user
Map userMap = new HashMap();
userMap.put("loginName", "));
userMap.put("loginPassword","));
inputMap.put("userInfo", userMap);
// data
Map bussdataMap = new HashMap();
bussdataMap.put("tableName", "");
List dataList = new ArrayList();
Map dataMap = new HashMap();
// 
dataMap.put("id", "");
dataMap.put("id_card_no","" );
dataList.add(dataMap);
bussdataMap.put("row", dataList);
inputMap.put("dataInfo", bussdataMap);
// operationType
inputMap.put("operate", "插入");
JSONWriter writer = new JSONWriter(false);
inputJson = writer.write(inputMap);
 

你可能感兴趣的:(java,json,开发语言)