确认
当前程序版本
2.0.53
问题描述
程序运行解析不出来
但是单独写的解析单元测试,是没有问题。我一直以为是编码有问题
但是设置【@JSONField(name = "signedMsg")】或者开启【JSONReader.Feature.SupportSmartMatch】是正常的。很奇怪的问题 用fastjson1.x是没有问题的。【signedMsg】跟属性名是可以对上的都解析不出来
@SneakyThrows
@Test
public void gbkParseObjectTest() {
String footer = "{\"signedMsg\":\"0DF581889549E07BBB2A854D7EC9BA38532C78F47EB53857967B9E366DB4BC1CAE72506F2BD9FDB60A344CA43760354899F7A6E96B778310795C5039A27F6C6E3A77524DB0EC674ADA928EA08B463A2DC0F5B4D22B2D9416730BD3F68AFB556714A43DEAE9463F06B9C8FDE00D6F3598BF59BEDF87A8CF616E42C084F6A91A51DA89A88F23D926A1618E7A18FAE4CA3D2B4B76AF966E89DA1C57BC33D9B2A66AEE40A1689DD0B129D8176EEBD107AE4F4F8431A0F7E3F75AF1245463C7CB144BB9B72A769F0E389C622CC0D6E8AAB0CFDA83212AFAB5BB0C719F35B1F4A79E64464E2B47325520A30BB524BB6EF3DBDE9C00873338E922B1B0826E30D9C59424\"}";
// 使用指定的UTF-8编码来创建String对象
// footer = new String(text.getBytes(), Charset.forName("GBK"));
ResponseFooter responseFooter = JSON.parseObject(footer, ResponseFooter.class);
Assertions.assertFalse(StringUtils.isBlank(responseFooter.getSignedMsg()));
}
{
"signedMsg" : "A81EF804DEE3BAAC38CAA06C35C0D6A7B9E37373598BA8C09B4C449469CB3301F0DA488D3F0190A2121C467B244405CCB234A75895B8015221EF51BCCFCBAA94262EFCAD947E58D2943D18E84C03A91A83EF375921CBCFD436C1C47AD3ACDADA34666D7B344E837903A093DB5B36A3A99D805D26CDAAF17EBBAD4A3415ECDC209B8AEE565B6742097B13512829AA436999326149B462EE7B122F49FCB721AC1FFE84462BCC85AD9A3E0D438F45A1E9A44A1EDA3FEF5ED6EB9B34F4DD1EA7C8A8D3F53DF5195FDAA1C138B6A5AB9051B823403C9CD00B2D687B80B265A5B62AB811C2E2255335317B777B405532C52C3AFC338F61AE30C4E368192FCE05EB4FE2"
}
package com.tilchinalink.tilchinalink_backend.pay.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @author mjl
* @version v1.0
* @Package : com.jctopinfo.fleet.pay.model
* @Description : 响应尾类
* @Create on : 2024-03-06 18:57
*/
@Data
public class ResponseFooter implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 签名信息. 必填项. 长度为2048. Y S 2048
*/
private String signedMsg = "";
/**
* 原响应尾信息
*/
@JsonIgnore
private String originalData;
/**
* 是否验签成功
*/
Boolean signSuccess = false;
/**
* 未使用
* @param json
* @return
*/
public ResponseFooter fromJson(String json){
return null;
}
/**
* 未使用
* @param xml
* @return
*/
public ResponseFooter fromXml(String xml){
return null;
}
}
详细堆栈日志
无