2014-07-28 6 views
-2

У меня есть проблема, когда я хочу, чтобы преобразовать одну строку в JSON массив:Как конвертировать строку (формат JSON) для JSONArray

это строка
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

Эта строка будет проходить через '' SyntaxError: Неожиданный токен ILLEGAL'', исправить ваши '' quotes''. – sarbbottam

+0

Откуда вы взяли String? Это на странице Java или вы получаете ее из JavaScript? – PHPglue

+0

С уважением, – luiscdz

ответ

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}]"; 
+0

Я не видел ... спасибо за ваше время – luiscdz

Смежные вопросы