Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

heh, wait until one discovers that gojq <https://github.com/itchyny/gojq#difference-to-jq> accepts yaml input; so, if you happen to have a bunch of _almost_ structured data then some light sprinkling can turn it into yaml and then you're back in the loving embrace of the jq transformation/mutation language :heart:

   $ cat some-vendor-nonsense.txt
   product id: 5
   price: 3.14

   product id: 6
   price: 6.66

   $ sed "s/^/  /; s/^  product/- product/" < some-vendor-nonsense.txt \
     | gojq --yaml-input .


Did someone say let's represent structured data as json? a bit of shameless plug: https://github.com/wader/fq :) It's using a fork of gojq btw!


Oh, I didn't know that; how cool! Have you asked itchyny about their interest in upstreaming the changes <https://github.com/itchyny/gojq/compare/main...wader:gojq:fq>? they don't look completely out of alignment with gojq and it would make reasoning about "gojq version what?" in fq easier and the inverse merge of theirs versus your fork seems to have a substantial changelog entry https://github.com/wader/gojq/compare/fq...itchyny:gojq:main


Yeap i've talked to itchyny quite a lot about various changes https://github.com/itchyny/gojq/issues/153 and also upstreamed quite a lot https://github.com/itchyny/gojq/issues?q=author%3Awader like custom iterators (to allow eval, own iterators and "empty" functions), query marshalling (query rewrite tricks) and a bunch of small things and bug fixes. But the largest change to add a JQValue interface is quite complex, other changes like extended literals is also a bit tricky.

Hmm weird list of changes for https://github.com/wader/gojq/compare/fq...itchyny:gojq:main but i guess it is because i haven't kept my main branch in sync. The fq branch should be based on latest gojq/main as of now. I usually try to rebase as quick as possible.

Let me know if you have any other questions or want to help out! maybe email etc as i usually don't check HN comments replies that often :)


Oh, that is great.. I was using dasel to convert yaml to json first ha ha.


Or just use "yq", if you need to parse yaml


You somehow thought that my problem was parsing yaml, when I thought I made it abundantly clear that it was jq's power that was my interest; yq has its own syntax and is not the jqlang that I use




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: