• ArseAssassin@sopuli.xyz
    link
    fedilink
    arrow-up
    8
    ·
    1 day ago

    I don’t know if we should call someone a master of jq if they do

    echo ‘{“k1”: [{“k2”: [9]}]}’ | jq ‘.k1 | .[0] | .k2 | .[0]’

    Instead of just

    echo ‘{“k1”: [{“k2”: [9]}]}’ | jq ‘.k1[0].k2[0]’

    • MonkderVierte@lemmy.zip
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      6 hours ago

      Both are bad. Make it readable.

      And if you often resort to jq, better use python or at least something like nushell.

  • MRIG@slrpnk.net
    link
    fedilink
    arrow-up
    5
    ·
    2 days ago

    If you’re going to use jq to manipulate JSON I’d recommend a helper CLI tool like ijq. It allows you to experiment without needing too lines in your terminal history.

  • gramgan@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    I’m curious if anyone else has considered using nushell for these things? Probably not for everything (or to replace one’s shell) but it definitely is simpler for basic tasks.

    • slackness@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      2 days ago

      That’s the primary value offer of nushell so at least people who made it considered it I’d say.

  • FishFace@lemmy.world
    link
    fedilink
    arrow-up
    3
    arrow-down
    10
    ·
    2 days ago

    I asked an LLM to write a jq scriptlet for me today. It wasn’t even complicated, it just beat working it out/trying to craft the write string to search Stackoverflow for.

    • Beej Jorgensen@lemmy.sdf.org
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      I tried and failed to get an LLM to write jq code to do a regex based matcher for finding if one json object was a subset of another.

      Gave up and learned it enough to get it going. jq is nutso powerful.

        • Beej Jorgensen@lemmy.sdf.org
          link
          fedilink
          arrow-up
          2
          ·
          15 hours ago

          Basically “does this JSON object contain at least these two properties, and is the value of one particular properties a string of digits followed by the letter ‘Z’”, for example.