Логика парсера строк в Java

У меня есть строка, подобная приведенной ниже, которая может развиваться дальше с несколькими дополнительными условиями AND / OR / NOT, но поддерживает синтаксис.

String string = "apple,mango,name(
AND(
OR(
gender[male,female],
county[USA,India]
),
language[spanish,english],
education[masters,bachelors],
NOT(
education[Phd]
)
)
),orange"

Нужно разобрать эту строку. частично успешно преобразовать эту строку как объект JSON. Но не мог сделать это полностью.

-3

Решение

Вы можете легко преобразовать это в грубую строку JSON. Быстрый образец будет

String json = "{"+string.replace("(",":{").replace("[",":[").replace(")","}")+"}";

Конечно, вам нужно добавить это, чтобы сделать его действительным json, вставляя кавычки по необходимости «или».

Если у вас есть JSOn, вы сможете легко преобразовать его в Java-объект. Проверьте библиотеки Джексона или GSON.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector