Java 从JSON恢复字节数组

Java 从JSON恢复字节数组,java,json,Java,Json,我的JSON中有一个字节数组,我想恢复它 Java代码 String client = ui.ReturnJSon(); ArrayList<JSONObject> vetor = ArrayJson(client); JOptionPane.showMessageDialog(ui, vetor.size()); // print 56 (that's right) int c

我的
JSON
中有一个字节数组,我想恢复它

Java代码

String client = ui.ReturnJSon();            
ArrayList<JSONObject> vetor = ArrayJson(client);                    
JOptionPane.showMessageDialog(ui, vetor.size()); // print 56 (that's right)                     
int client_Id = vetor.get(0).get("Cliente_Id");
JOptionPane.showMessageDialog(ui, client_Id); // print 1414509 (that's right)

byte[] template = (byte[])vetor.get(0).get("template");
JOptionPane.showMessageDialog(ui, template.length); // Doesn't appear any Dialog
    [{"template":[167,255,1,30,17,1,204,0,1,237,0,128,0],
"template2":[167,255,1,30,17,1,204,0,1,237,0,128,0,171,0,1,31],
"template3":null,
"Cliente_Id":1414509},
JSON示例

String client = ui.ReturnJSon();            
ArrayList<JSONObject> vetor = ArrayJson(client);                    
JOptionPane.showMessageDialog(ui, vetor.size()); // print 56 (that's right)                     
int client_Id = vetor.get(0).get("Cliente_Id");
JOptionPane.showMessageDialog(ui, client_Id); // print 1414509 (that's right)

byte[] template = (byte[])vetor.get(0).get("template");
JOptionPane.showMessageDialog(ui, template.length); // Doesn't appear any Dialog
    [{"template":[167,255,1,30,17,1,204,0,1,237,0,128,0],
"template2":[167,255,1,30,17,1,204,0,1,237,0,128,0,171,0,1,31],
"template3":null,
"Cliente_Id":1414509},

List template=vetor.get(0.get)(“模板”);
byte[]byteArray=新字节[template.size];
对于(int i=0;i
如果使用Jackson,这可能是蝙蝠的功用。现在,你必须做定制的非宗教化。将
[]
拆分为字符串,并在每个元素上使用
Byte.parseByte()
,然后将它们添加到数组中。无需执行parseByte操作——结果数组中的数字将是字节或整数。您只需要对每个元素执行
templateArray[i].byteValue()
。@HotLicks但我如何从JSon恢复数组?我尝试了
byte[]template=(byte[])vetor.get(0.get(“模板”)“模板”将是某种Java列表对象——其类型取决于您使用的反序列化程序。您可以使用get(i)从中访问元素,然后使用byteValue()从结果整数或其他任何内容中获取实际字节值。使用你的调试器找出你有什么!!