У меня есть строка, подобная приведенной ниже, которая может развиваться дальше с несколькими дополнительными условиями 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. Но не мог сделать это полностью.
Вы можете легко преобразовать это в грубую строку JSON. Быстрый образец будет
String json = "{"+string.replace("(",":{").replace("[",":[").replace(")","}")+"}";
Конечно, вам нужно добавить это, чтобы сделать его действительным json, вставляя кавычки по необходимости «или».
Если у вас есть JSOn, вы сможете легко преобразовать его в Java-объект. Проверьте библиотеки Джексона или GSON.
Других решений пока нет …