1
JSON Pointersをすべてxidelまたは別のコマンドラインツールを使用してファイルからリスト/生成することはできますか?xsonのすべてのjsonポインタをリストする
私は
xidel test.json -e '$json()'
で試してみたが、私は、私はxmlstarlet el -a
と得るもののような再帰的なリストが欲しいながら、それだけで、トップレベルのフィールドを示します。
JSON Pointersをすべてxidelまたは別のコマンドラインツールを使用してファイルからリスト/生成することはできますか?xsonのすべてのjsonポインタをリストする
私は
xidel test.json -e '$json()'
で試してみたが、私は、私はxmlstarlet el -a
と得るもののような再帰的なリストが欲しいながら、それだけで、トップレベルのフィールドを示します。
あなたはそのために再帰関数を宣言することができます。
xidel test.json -e '
declare function escape ($s) { replace(replace($s, "~", "~0"), "/", "~1") };
declare function enum($v, $pointer) {
typeswitch ($v)
case array() return $v() ! enum(., $pointer || "/" || string(position() - 1))
case object() return $v() ! enum($v(.), $pointer || "/" || escape(.))
default return $pointer
};
enum($json, "")
'
うわー、Xidelがいかに強力かつ多彩ないつもびっくり。あなたが書いたボットはまだ自分のレベルを上回っています。私はreddit-chat-botをあなたのxidel-githubにも見つけましたが、その内容のほとんどは私には馴染みのない領域でした。 – MatrixView
私はより簡単な解決策を望んでいましたが、機能します。また、[このような問題のあるjsonファイル](https://www.sitepoint.com/google-maps-json-file/)でエラーがスローされます。 – eadmaster