gpt4 book ai didi

java - 未能将 VALUE_STRING 解码为 base64

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:51:32 25 4
gpt4 key购买 nike

我正在尝试使用 fasterxml jackson 反序列化 json,Json 中的一个字段是一个字符串,但我需要在 Bean 和主类的字节数组 PFB 中读取相同内容

public class Serialization implements Serializable{

private static final long serialVersionUID = 5894318390213780082L;
private String name = null;

@JsonDeserialize(using = StringtoByteArray.class)
private byte[] pass = null;
//getter setter
}

public class StringtoByteArray extends JsonDeserializer<byte []> {

@Override
public byte[] deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
throws IOException, JsonProcessingException {
return (jsonParser.getBinaryValue());
}
}

public class App
{
public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
Serialization sr = new Serialization();
ObjectMapper mapper = new ObjectMapper();

sr = mapper.readValue(new File("D:\\check.json"), Serialization.class);
System.out.println("sr values ::" +sr.toString());

mapper.writeValue(new File("c:\\user.json"), sr);
}
}

我的json

{
"name": "AD",
"pass": "pp"
}

在Deserialize获取的时候线程“main”中的异常 com.fasterxml.jackson.databind.JsonMappingException:无法将 VALUE_STRING 解码为 base64(MIME-NO-LINEFEEDS):base64 内容中的非法字符“”(代码 0x22)求推荐

最佳答案

如果使用 Java 8:在我的反序列化实现中我需要返回

return (Base64.getEncoder().encode(jsonParser.getText().getBytes()))

关于java - 未能将 VALUE_STRING 解码为 base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41597491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com