• @[email protected]
      link
      fedilink
      321 day ago

      XML is ok for complex docs where you have a detailed structure and relationships. JSON is good for simple objects. YAML is good for being something to switch to for the illusion of progress.

      • Radioactive Butthole
        link
        fedilink
        English
        101 day ago

        Meh. I just wish XML was easier to parse. I have to shuttle a lot of XML data back and forth. As far as I can tell, the only way to query the data is to download a whole engine to run a special query language, and that doesn’t really integrate into any of my workflows. JSON retains the hierarchy and is trivially parsed in almost any programming language. I bet a JSON file containing the exact same data would be much smaller also, since you don’t list each tag twice.

          • Radioactive Butthole
            link
            fedilink
            English
            16 hours ago

            That’s kind of my point though. For being made specifically for the purpose of being machine readable, its kind of a pain in the ass to work with.

            I want a command line utility where I can just

            xmlquery --query 'some/query' --file foo.xml --output foo-out.xml
            

            or in python

            
            import xml
            
            with open("foo.xml", "r") as file:
                data = xml.load(file.read())
            

            That’s the amount of effort I want to put into parsing a data storage format.

    • @[email protected]
      link
      fedilink
      English
      523 hours ago

      YAML is (mostly) a superset of JSON. Is the face hugger any less evil than the alien bursting out of your chest?

      • @SpaceNoodle
        link
        123 hours ago

        It’s got enough serious flaws and quirks that I can feel smug hating on it. JSON is far from perfect, but overall it’s the least worst of human-readable formats.

        Only Python manages to get away with syntactical indentation.

        • @renzev
          link
          English
          421 hours ago

          The complaints about yaml’s quirks (no evaluating to false, implicit strings, weird number formats, etc.) are valid in theory but I’ve never encountered them causing any real-life issues.

          • AnyOldName3
            link
            214 hours ago

            no doesn’t become false, it becomes Norway, and when converted to a boolean, Norway is true. The reason’s because one on YAML’s native types is an ISO country code enum, and if you tell a compliant YAML implementation to load a file without giving it a schema, that type has higher priority than string. If you then call a function that converts from native type to string, it expands the country code to the country name, and a function that coerces to boolean makes country codes true.

            The problem’s easy to avoid, though. You can just specify a schema, or use a function that grabs a string/bool directly instead of going via the assumed type first.

            The real problem with YAML is how many implementations are a long way from being conformant, and load things differently to each other, but that situation’s been improving.

    • @[email protected]
      link
      fedilink
      7
      edit-2
      1 day ago

      It’s still using the lesser of 3 evils, we need a fourth human readable data interchange format.