将Base64字符串转换为字符串数组

时间:2019-08-17 02:12:41

标签: java jquery ajax servlets

我正在使用request.getParameter并获取以下值:

[
  "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAA0NDQ0ODQ4QEA4UFhMWFB4bGRkbHi0gIiAiIC1EKjIqKjIqRDxJOzc7STxsVUtLVWx9aWNpfZeHh5e+tb75+f8BDQ0NDQ4NDhAQDhQWExYUHhsZGRseLSAiICIgLUQqMioqMipEPEk7NztJPGxVS0tVbH1pY2l9l4eHl761vvn5///AABEIBJgHKAMBIgACEQEDEQH/xACAAAEBAAMBAQEAAAAAAAAAAAAAAQIDBQQGBxABAAICAQIGAgEEAwEAAwEBAAECAxEEEiEFExQxQVEVIjIjUmFxM0KBJDRigkNEAQEBAQEBAAAAAAAAAAAAAAAAAQIDBBEBAAIDAQACAwEBAQAAAAAAAAERAhITUQMhMUFhIjJC/9oADAMBAAIRAxEAPwDYxmWFrREPPbKwN1sjyXvNlm20RWrpj6WKx9NuliBSGaRDKATohl0x9KygE0MgGHTHyTWPpmmgSKx9M4WAGMxuEisNiAw6I+liumSTIBpNwnUDLpj6NMYsz3sFiGWkhQYTWGUVDcAaRdgGjULokGOmUGlBU1CgjHREMlATpUUYdMfSxCqBCLtAYzVOiIZMtAwZmlBhrZ0wy0AnTB2hlBMA1ztrmky9GgV5a8eN7lviIrHaGbXedR2Bj1E7lrx1tM7l6dAx6YNM9GgTSqCJqDUKKJpQBF0KDHR2hkxmAVJhQGOliqgIq6AY6NQyUGOhUBTSKBoUBDQoJpNM0BDTJAY6TTKCYBgy0ul0DDRpnpdAw0rLRoGBpnpNAxVdEQCiroGEwsQugAlQGOl0ugEVRARkAxUZAhpVUTQqghpQE0aUTvs3ICJG2cADLsTMAIwtLGIsA0yiJXQAsQAIEAC7UAXTZWsQAjZoBUAAf/2Q==",
  "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAA0NDQ0ODQ4QEA4UFhMWFB4bGRkbHi0gIiAiIC1EKjIqKjIqRDxJOzc7STxsVUtLVWx9aWNpfZeHh5e+tb75+f8BDQ0NDQ4NDhAQDhQWExYUHhsZGRseLSAiICIgLUQqMioqMipEPEk7NztJPGxVS0tVbH1pY2l9l4eHl761vvn5///AABEIBTQIWAMBIgACEQEDEQH/xACFAAEBAAMBAQEAAAAAAAAAAAAAAQIEBQMGBxABAAICAQMDAwMEAgIDAQADAAECAxEEBRIhEzFRFCJBFTJSI0JhcTNTJENygZFiJTShAQEBAQEBAAAAAAAAAAAAAAAAAQIDBBEBAQACAgIDAQEBAQEBAAAAAAECERITIVEDMUFhIjIjgVL/2gAMAwEAAhEDEQA/ANoE2yKbY7QGUyIbBWM31+WFrPGbbQes5YhhOTby0yiAXcykKaFDamtgppPMLACKRAGliFAQUBBkAw0x7XokgkQukiWQEQoAmiIUgGSaUBGSKKAoIKRAAGgUFBIjTIAVJUBF0KDGUhmAKABCgCgApEAAugQU0oMdCroE0mmWgGOjTNNAkKABpQECQEVPO1BBTQMVhQAABJZAMdGlUGOjTIBiqgIMkFY6TTMBjo0yAY6XSgJoUBBUkE15VYgBEirJRGOhkAxVSQYqKAACLBCgKADGWQCKAAKCKIAAAACCgAQoIKAgqAIqgmlEBQgAFARRQEBQAAABFF0DFQAVFBBRBBQEFFEUAAAE0oAAgAAigAAAKAgoDDbMAAAQXSAKAACgooICgIqAAACoAAAaUANAAAAAAAAigMZ2RKmgURQAAUABFQFAAAAAAABAUEFQBjMvLJaYidQ5mbPyv7KSuh19sbX1D5+2fqH8HjOXqF/7TVH0dcm3p3Q+exz1HX7Wzjx8+0+TVHZ2yamPHn/us24g0KKAhJLU5Fcto1STSNjug7nBy4edvxNnj6nMp+JB9J3bY98fL5q/J5cxqImGOSOZXWrzPgH0/ey7ny2GedN/O5h3cFM3ibmhvwEKgmmMs01CKAACiGwQUAAiQBQAAAQAFABFABQBEgAVABYUAABFAUAAAAAACAAAAkAAAAABAAAAYV/dIA9AAAAVAAAAAAQBVQAAEESQFIAB/9k="
]

如何将其转换为数组?

当我使用request.getParameterValues("jsondata");时,会得到这个值[Ljava.lang.String;@8892fd8,这是不期望的。

1 个答案:

答案 0 :(得分:1)

jsondata的值为JSON文本。它以[开头,这意味着它是一个JSON数组。

要处理它,您应该使用JSON解析器。参见How to parse JSON in Java

解析后,您应该具有两个值的String[]List<String>

两个值均以data:image/jpeg;base64,开头,后跟Base-64编码的二进制数据(JPEG图像)。

假设您具有Java 8或更高版本,请使用Base64类将其解码为byte[]

您现在拥有2个JPEG图像,格式为2字节数组。