Позвольте упростить вопрос:
Все, что мне нужно, это взорвать строку () запятой в скобках. Проблема в том, что элементы, выбранные через запятую, могут иметь запятую в себе, поэтому простое разнесение не будет работать. Я не спрашиваю, как декодировать JSON.
Количество аргументов, их тип всегда будет разным, например,
('foo')
('bar', NULL)
({"JSON": "data"}, 'test')
Предполагая, что у меня есть эта часть кода:
({"class": "navigation", "id": "navigation"}, NULL, 'bar' /* [..] */)
Может ли кто-нибудь предложить регулярное выражение (или альтернативный метод), чтобы получить все разделенные запятыми записи (в виде строки)? Проблема в том, что переменные могут содержать запятые в себе. Таким образом, я предполагаю, что это требует рекурсии.
Ожидаемым результатом будет массив, содержащий следующие записи:
{"class": "navigation", "id": "navigation"}
NULL
'bar'