【发布时间】:2022-01-18 09:57:12
【问题描述】:
我有这个方法pay.getPaymentDetails(),它的返回类型是字符串,它返回下面的字符串
[
{
"mcTtid": 201657083281,
"cardLast4Digits": "0887",
"paymentType": "CREDIT CARD",
"originalPaymentCategory": {
"code": "Q",
"name": "CREDIT CARD"
}
},
{
"veTtid": 21656148003,
"cardLast4Digits": "4777",
"paymentType": "GIFT CARD",
"originalPaymentCategory": {
"code": "Q",
"name": "GIFT CARD"
}
},
{
"mcTtid": 201625819,
"cardLast4Digits": "8388",
"paymentType": "GIFT CARD",
"originalPaymentCategory": {
"code": "w",
"name": "GIFT CARD"
}
}
]
现在我用下面的代码提取了属性 paymentType 的值
String paymentTypeValue = null;
try {
JSONArray jsonArr = new JSONArray(FormatUtil.gcpBlobAsString(pay.getPaymentDetails()));
for (int i = 0; i < jsonArr.length(); i++) {
paymentTypeValue = jsonArr.getJSONObject(i).getString("paymentType");
}
}
catch (JSONException e) {
logger.error("Json exception-->" + e.getMessage());
throw new JsonException(e);
}
现在我的查询是我需要检查 value 属性 paymentType 是否为 GIFT CARD 那么我需要将其设置为 CREDIT CARD 所以请告知我该如何设置它
if (paymentTypeValue.equalsIgnoreCase("GIFT CARD")) {
...
}
【问题讨论】: