Java:基于 64 位的字符串解码/解析失败

Java : 64 based string decode / parse failed

我正在尝试转换这个基于 64 位编码的 JSON 字符串并使用 flexjson API 将收到的 JSON 转换为 POJO。

首先try块,将直接JSON作为字符串转成对象即成功。此字符串使用在线工具解码。

现在第二个 try 块,尝试以类似的方式将基于 64 位的字符串转换为一个对象,但是在 运行 上转换基于 64 位的字符串会引发异常 flexjson.JSONException:应在字符 10

处使用“,”或“]”
 try {
        AsyncResponseDO asyncResponseDO = new JSONDeserializer<AsyncResponseDO>().deserialize("{\"relatesTo\":\"7_Sept2017_IF01\"}", AsyncResponseDO.class);
        System.out.println(asyncResponseDO.getRelatesTo());
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

try {
        AsyncResponseDO asyncResponseDO = new JSONDeserializer<AsyncResponseDO>().deserialize(Base64.decodeBase64("eyJyZWxhdGVzVG8iOiI3X1NlcHQyMDE3X0lGMDEifQ==".getBytes()).toString(), AsyncResponseDO.class);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

POJO class :

public class AsyncResponseDO {
private String relatesTo; 

public String getRelatesTo() {
    return relatesTo;
}
public void setRelatesTo(String relatesTo) {
    this.relatesTo = relatesTo;
}
}

新字符串(Base64.decodeBase64("eyJyZWxhdGVzVG8iOiI3X1NlcHQyMDE3‌X0lGMDEifQ==".getByt‌es()));

这将转换为正确的字符串。

我参考了https://www.mkyong.com/java/how-do-convert-byte-array-to-string-in-java/