В этом ответе предполагается, что вы не контролируете создание этой JSON-подобной строки.Если вы можете контролировать эту часть, то вам следует как следует избегать ее.
В этом случае, поскольку систематический анализ не является вариантом, поскольку это еще не допустимый JSON, все, что я мог бы предложить, - это пройти черезразличные строки и посмотрите, можете ли вы найти шаблон, к которому вы можете применить некоторую логику и избежать всех "
s, которые не позволяют строке быть допустимым JSON.
Вот, вероятно, способ начать:
Все "
, которые необходимы для того, чтобы строка была пустым JSON, окружены одним или несколькими символами из {
, :
, ,
и }
, с пробелом между "
и другими символами JSON или без него.
Итак, если вы анализируете JSON-подобную строку с использованием Java и ищите все "
s, и, когда сталкиваетесь сВо-первых, если они находятся вместе с любым из вышеперечисленных символов (с пробелом или без него), вы просто оставляете все как есть.Если нет, замените это "
на \"
.
Обратите внимание, что вышеупомянутый метод может работать или не работать в зависимости от данных, о которых идет речь.То, что я имею в виду, это подход, который может оказаться полезным, если абсолютно невозможно для экранирования строки во время ее создания, и если эти строки следуют строгому шаблону относительно неэкранированного "
s.