У меня есть проект, который получает метаданные из модов Minecraft , и у меня возникли проблемы со старым форматом mcmod.info
в Minecraft Forge - это JSON формат читается с GSON для тех, кто не знает.
В частности, GSON, к сожалению, допускает, чтобы строки были многострочными (это позволяет использовать неэкранированные символы новой строки в строке) - что Go encoding/json
не позволяет. Посмотрите приведенный ниже пример из мода Chisel, чтобы понять, что я имею в виду.
[{
"credits": "AUTOMATIC_MAIDEN for the original mod,
asie for porting to 1.7.2,
and Pokenfenn/Cricket for continuing it in 1.7.
This mod uses textures from the Painterly Pack: http://painterlypack.net/."
}]
Это приводит к ошибке invalid character '\n' in string literal
.
Я кратко рассмотрел использование альтернативы * Парсер 1024 * (специально названный jsonparser специально для меня), но без проверки их всех - я не смог определить, какие, если таковые имеются, поддерживают то, что мне нужно.
Я подозреваю, что решение этой проблемы будет в использовании альтернативного синтаксического анализатора JSON, я просто недостаточно осведомлен о доступных библиотеках или использовании JSON в Golang для принятия очень обоснованного решения.