如何将字符串(JSON格式)转换为JSONArray

时间:2014-07-28 22:39:57

标签: java json arrays

当我想将一个String转换为JSON数组时,我遇到了问题:

这是String
arrayPersona = ""[{\"nombre\": \"Luis\", \"apellido\": \"cardozo\", \"edad\": 23}, {\"nombre\": \"Pedro\", \"apellido\": \"Castro\", \"edad\": 25}, {\"nombre\": \"Ana\", \"apellido\": \"Lopez\", \"edad\": 22}]""

当我尝试使用下一个代码

转换为JSONArray时
           registros = request.getParameter("jsonArray");
           JSONParser parser = new JSONParser();
           Object obj = parser.parse(registros);
           JSONArray jsonArray = (JSONArray) obj;

输出:(java.lang.ClassCastException)java.lang.ClassCastException:java.lang.String无法强制转换为org.json.simple.JSONArray

我认为这行Object obj = parser.parse(registros);不会转换对象中的字符串但我现在不知道为什么............

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

arrayPersona = ""[{\"nombre\": \"Luis\", \"apellido\": \"cardozo\", \"edad\": 23}, {\"nombre\": \"Pedro\", \"apellido\": \"Castro\", \"edad\": 25}, {\"nombre\": \"Ana\", \"apellido\": \"Lopez\", \"edad\": 22}]""

arrayPersona = "[{\"nombre\": \"Luis\", \"apellido\": \"cardozo\", \"edad\": 23}, {\"nombre\": \"Pedro\", \"apellido\": \"Castro\", \"edad\": 25}, {\"nombre\": \"Ana\", \"apellido\": \"Lopez\", \"edad\": 22}]";

真的,我会在双引号中使用单引号而不是转义所有内容。

arrayPersona = "[{nombre: 'Luis', apellido: 'cardozo', edad: 23}, {nombre: 'Pedro', apellido: 'Castro', edad: 25}, {nombre: 'Ana', apellido: 'Lopez', edad: 22}]";