• vrighter
            link
            fedilink
            arrow-up
            4
            arrow-down
            1
            ·
            10 months ago

            write json with comments. Use a yaml parser.

          • catfish@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            10 months ago

            It still works since multiple identical keys are still valid json. Although that in itself isn’t fantastic imo.

      • brettvitaz@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        10 months ago

        For settings files I always have an example file with sensible values filled in and along with descriptive keys that serves as reasonable documentation. If something is truly unknowable, I’ve probably done something wrong.

          • brettvitaz@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            10 months ago

            In my opinion, the settings file isn’t where this information should be presented. I would put these notes in the release log and readme and example settings file. I have also written this information to logging during startup so a user knows what to do, or I write a migration that does the change automatically if that’s possible.

            This is only my opinion and you can use the comment method described like //“: “Deprecated” if desired.

    • suy@programming.dev
      link
      fedilink
      arrow-up
      6
      ·
      10 months ago

      The very first moment that I had to use JSON as a configuration format, and I was desperate to find a way to make a long string into a JSON field. JSON is great for many things, but it’s not good at all for a configuration format where you need users to make it pretty, and need features like comments or multi-line strings (because you don’t want to fix a merge conflict in a 400 character-wide line).