HXLStandard/libhxl-python

Use jsonpath-ng as it is is the most recent and complete library

Closed this issue · 1 comments

From what I can tell, jsonpath-ng is the most complete and up to date of the Python jsonpath libraries.
"A final implementation of JSONPath for Python that aims to be standard compliant, including arithmetic and binary comparison operators, as defined in the original JSONPath proposal.

This packages merges both jsonpath-rw and jsonpath-rw-ext and provides several AST API enhancements, such as the ability to update or removes nodes in the tree." (https://github.com/h2non/jsonpath-ng)

Hence, I'd suggest using jsonpath-ng. It will be helpful to projects that have libhxl as a dependency (which will pull in the chosen jsonpath library through the libhxl dependency).

Switched. Confirmation link that JSONPath (including filters) still works: https://beta.proxy.hxlstandard.org/data/edit?dest=data_edit&filter01=add&filter-label01=Add+col+for+country+names&add-tag01=%23country%2Bname%2Blist&add-value01={{%23loc}}&add-header01=Country+names&filter02=jsonpath&filter-label02=Extract+country+names&jsonpath-path02=%24[%3F(%40.adminLevel%3D0)].name&jsonpath-patterns02=%23country%2Bname&jsonpath-flatten02=on&filter03=add&filter-label03=Add+col+for+admin1+P-codes&add-tag03=%23adm1%2Bcode%2Blist&add-value03={{%23loc}}&add-header03=Admin1+p-code&filter04=jsonpath&filter-label04=Extract+admin1+P-codes&jsonpath-path04=%24[%3F(%40.adminLevel%3D1)].pcode&jsonpath-patterns04=%23adm1%2Bcode&jsonpath-flatten04=on&filter05=add&filter-label05=Add+col+for+admin2+names&add-tag05=%23adm2%2Bname%2Blist&add-value05={{%23loc}}&add-header05=Admin2+names&filter06=add&filter-label06=Add+col+for+admin2+P-codes&add-tag06=%23adm2%2Bcode%2Blist&add-value06={{%23loc}}&add-header06=Admin2+P-codes&filter07=jsonpath&filter-label07=Extract+admin2+names&jsonpath-path07=%24[%3F(%40.adminLevel%3D2)].name&jsonpath-patterns07=%23adm2%2Bname&jsonpath-flatten07=on&filter08=jsonpath&filter-label08=Extract+admin2+P-codes&jsonpath-path08=%24[%3F(%40.adminLevel%3D2)].pcode&jsonpath-patterns08=%23adm2%2Bcode&jsonpath-flatten08=on&filter09=add&filter-label09=Add+col+for+plan+code&add-tag09=%23response%2Bplan%2Bcode&add-value09={{%23response%2Bplan%2Bname}}&add-header09=Response+plan+code&add-before09=on&filter10=jsonpath&filter-label10=Extract+plan+names&jsonpath-path10=%24[0].name&jsonpath-patterns10=%23response%2Bname&filter11=jsonpath&filter-label11=Extract+plan+codes&jsonpath-path11=%24[0].code&jsonpath-patterns11=%23response%2Bcode&jsonpath-flatten11=on&filter12=jsonpath&filter-label12=Extract+all+remaining+names+from+JSON&jsonpath-path12=%24[*].name&jsonpath-patterns12=%23activity%2Bname%2C+%23sector%2Bname%2C+%23org%2Bname&jsonpath-flatten12=on&filter13=cut&filter-label13=Remove+generic+JSON+%23loc+col+and+untagged+cols&cut-exclude-tags13=%23loc&cut-skip-untagged13=on&filter14=clean&filter-label14=Change+dates+to+ISO+YYYY-mm-dd&clean-date-tags14=%23date&tagger-match-all=on&tagger-01-header=name&tagger-01-tag=%23activity%2Bname&tagger-02-header=versioncode&tagger-02-tag=%23activity%2Bcode%2Bv_hpc&tagger-03-header=currentrequestedfunds&tagger-03-tag=%23value%2Brequested%2Busd&tagger-05-header=objective&tagger-05-tag=%23description%2Bobjective&tagger-06-header=partners&tagger-06-tag=%23org%2Bimpl%2Bname%2Blist&tagger-07-header=startdate&tagger-07-tag=%23date%2Bstart&tagger-08-header=enddate&tagger-08-tag=%23date%2Bend&tagger-09-header=governingEntities&tagger-09-tag=%23sector%2Bcluster%2Blocal%2Bname&tagger-17-header=globalclusters&tagger-17-tag=%23sector%2Bcluster%2Bglobal%2Bname&tagger-18-header=organizations&tagger-18-tag=%23org%2Bprog%2Bname&tagger-19-header=plans&tagger-19-tag=%23response%2Bplan%2Bname&tagger-20-header=locations&tagger-20-tag=%23loc&header-row=1&url=https%3A%2F%2Fapi.hpc.tools%2Fv2%2Fpublic%2Fproject%2Fsearch%3FplanCodes%3DHMLI20%26excludeFields%3Dtargets