Выходной yaml SnakeYaml не соответствует выгруженному yaml

Я пытаюсь изменить следующий тип файла yaml, но у меня возникают проблемы при его сбросе. Проблема в тех кавычках, которые, как я полагаю, представляют собой строку. Я знаю, что есть DumperOption для setDefaultScalarStyle, но когда я использую его с любым из используемых стилей, U не может получить тот же стиль, что и во входном файле yaml. Я что-то упускаю?

original 
   parameters:
      continent: "Africa"
      image: african_set
      machines: {
        1: "vm1",
        2: "vm1" }
      routes: {
         first: {
          1: "21 via 43 dot gi",
          2: "43 via 46 dgt ll" },
        second: {
          1: "61 via 03 d ghji",
          2: "83 via 96 t llhh" }
      }
      protocol: {
        "version": "1.94",
        "machines": ["m11", "m23"],
            "connections": [
                    {
                            "name": "t1",
                            "Type": {
                                    "ID": 01
                            },
                            "service": {
                                    "ID": 1,
                                    "net_type": 1
                            }
                    }

....

пример использования DOUBLE_QUOTE

{
  "parameters": {
    "continent": "Africa",
    "image": "african_set",
    "machines": {
      !!int "1": "vm1",
      !!int "2": "vm2",
      !!int "3": "vm3"
    }, 
    "routes": {
      "first": {
        !!int "1": "21 via 43 dot gi",
        !!int "2": "43 via 46 dgt ll"
      },
      "second": {
        !!int "1": "61 via 03 d ghji",
        !!int "2": "83 via 96 t llhh"
      }
    },

person Sirke    schedule 27.03.2020    source источник
comment
Отвечает ли это на ваш вопрос? Сброс значений с кавычками с помощью SnakeYaml   -  person flyx    schedule 27.03.2020
comment
Я понимаю, что в моем случае я хочу использовать StringWriter вместо PrintWriter, но я не знаю, как получить события Iterator ‹Event›, у меня есть объект, который я получаю из yaml.load (yamlFileContent), который я редактирую и хочу сохранить.   -  person Sirke    schedule 27.03.2020
comment
yaml.load - это высокоуровневый API, упомянутый в связанном ответе, который вызывает потерю всей информации, связанной с презентацией (включая детали цитирования). Если вы хотите сохранить эту информацию, вы не можете ее использовать.   -  person flyx    schedule 27.03.2020
comment
Итак, если я не могу загрузить, как мне загрузить yaml во что-то, что не является строкой, или нет другого способа отредактировать мой yaml с помощью snakeyaml?   -  person Sirke    schedule 27.03.2020
comment
Поскольку эта проблема обсуждается довольно часто, я просто сделал более подробное описание, подробно описав проблемы и возможные решения. Надеюсь, это поможет.   -  person flyx    schedule 27.03.2020