Уже исправлена моя проблема - пост можно удалить.Спасибо всем вам за помощь.
Мне нужна помощь с разбиением строки в Java.У меня есть строка, подобная этой:
{'key'=>value1,'key2'=>'value2','key3'=>{'innerKey1'=>'innerValue1'...} ...}
Мне нужно разделить ее, чтобы получить HashMap:
- key-> value1
- key2->value2
- key3 -> (внутренняя HashMap с проанализированным {'innerKey1' => 'innerValue1' ...})
- ...
Должно работатьчто, когда я пытаюсь разобрать значение из key3, он снова разделит его таким же образом.Там может быть много уровней внутренних элементов.Мне также нужно, чтобы он работал со специальными символами, такими как 'или \ в ключе и значении.Я использовал что-то вроде этого:
result = string.split( ",(?=([^\"]*\"[^\"]*\")*(?![^\"]*\"))" );
, но я не знаю, как рассматривать целое {...}
как значение, не разделяя его запятыми.
Я думаю об использовании JSON дляэто, но, может быть, кто-то знает регулярное выражение или небольшую функцию, которая будет быстрее, чем использование библиотек JSON.