如何在Java中拆分JSON输出并将字段转换为变量?

时间:2019-04-02 06:26:53

标签: java json spring

我执行了这一行代码段。

    JSONObject object = new JSONObject(ezCashDynamicQRIntegration(axiPayQrCodePayment, serviceContext).getBody());

因此输出遵循JSON

{ "qrContent":"DQRC|CARGILLS|Cargills|1000.00|TX_AOTC|TXN_00001|https://test.url|remark",
   "message":{  
      "code":"040",
      "description":"verified"
   },
   "status":"SUCCESS"
}

下面我执行了这行代码

        qrContent = (String) object.get("qrContent");
        log.info("QR CONTENT IS {} ",qrContent);
        messageContent = (String) object.get("message");
        log.info("MESSAGE CONTENT IS {} ",messageContent);

日志将打印出来

  

QR内容为   DQRC | CARGILLS | Cargills | 1000.00 | TX_AOTC | TXN_00001 | https://test.url|remark

但是消息内容什么也没有。谁能帮我为什么?

1 个答案:

答案 0 :(得分:0)

在您的代码行中  messageContent = (String) object.get("message");

您正在将org.json.JSONObject强制转换为String。它应该引发类似java.lang.ClassCastException: org.json.JSONObject cannot be cast to java.lang.String

的异常

将行更改为  messageContent = object.get("message").toString();