2013-08-29 2 views
0

я получаю данные из внешнего источника JSon, который, как показано нижеКак избежать двойные кавычки в JSON

{"root":{"name":"Haf"eez","skills":["java","j2ee","jquery","ext-js"]}} 

Как разобрать это в Java. Слово Hafeez имеет двойную цитату в центре.

После побега выше я бы

jsonObject = new JSONObject(new JSONTokener(
      new InputStreamReader(input))); 
+2

В основном двойные кавычки нужно экранировать перед разбором. –

+3

Это недействительно JSON. исправить внешний источник – schlingel

+0

Вы получаете сломанный json от другого сервиса? –

ответ

0

Используйте обратную косую черту, чтобы избежать. Заменить «\\»

Использование регулярных выражений: str.replaceAll("([a-zA-Z0-9])(\")([a-zA-Z0-9])", "$1\\\\\\\\\"$3");

+0

Я считаю, что мне нужно применить некоторое регулярное выражение, чтобы избежать этого –

+0

Да, вы можете проверить, что «предшествует и сопровождается несинтаксическим символом - не уверен, что это сработает во всех случаях для вас. –

+0

Что делать, если JSon будет выглядеть как '{" name ":" value ", с" lots "из" ["quotes"] "" ("and" some special marks ")"} '? Regex не может быть лучшим вариантом здесь. – Pshemo

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