• ryathal@sh.itjust.works
      link
      fedilink
      arrow-up
      34
      arrow-down
      2
      ·
      1 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@reddthat.com
        link
        fedilink
        English
        arrow-up
        10
        ·
        19 hours 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@reddthat.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 hour 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.

    • tinkling4938@lemmynsfw.com
      link
      fedilink
      English
      arrow-up
      5
      ·
      18 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@lemmy.world
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        18 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@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          16 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@lemmy.world
            link
            fedilink
            arrow-up
            2
            arrow-down
            1
            ·
            9 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.

    • jonne@infosec.pub
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      23 hours ago

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