[解決済み] JSON文字列をjq(または他の選択肢)でパースする方法は?
2022-08-14 16:29:50
質問
私は
jq
のような JSON 構造をパースするようにします。
{
"a" : 1,
"b" : 2,
"c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n"
}
つまり、JSONの要素はjsonをエスケープした文字列である。
ということで、以下のようなものがあります。
$ jq [.c] myFile.json | jq [.id]
でクラッシュしてしまいます。
jq: error: Cannot index string with string
これは、.cの出力が文字列であり、より多くのJSONではないからです。 どうすればjqにこの文字列をパースさせることができるのでしょうか?
私の最初の解決策は、sed を使ってすべてのエスケープ文字を置き換えることです (
\":\"
,
\",\"
と
\"
に組み込まれた方法があると思いますが、それは面倒です。
jq
に組み込まれているのでしょうか?
ありがとうございます。
を編集します。 また、こちらで公開されているjqのバージョンは
$ jq --version
jq version 1.3
必要なら更新すればいいんだろうけど。
どのように解決するのですか?
jqは
fromjson
というビルトインがあります。
jq '.c | fromjson | .id' myFile.json
fromjson
はバージョン 1.4 で追加されました。
関連
-
[解決済み] 複数の配列を持つJSONオブジェクトを作るにはどうしたらいいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] YAMLとJSONの違いは何ですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み] Swift 4 の JSONDecoder で、見つからないキーは、オプションのプロパティである必要はなく、デフォルト値を使うことができますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Twitter API エラー 215
-
[解決済み] json gem のインストール中にエラー 'mkmf.rb can't find header files for ruby' が発生する。
-
[解決済み] Elasticsearchで部分一致を行うにはどうしたらいいですか?
-
[解決済み] Golang で文字列を構造体のようにアンマーシャリングする
-
[解決済み] コマンドラインを使用してJSONオブジェクトの項目をカウントする方法は?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] nodeやExpressを使用してJSONを返す正しい方法
-
[解決済み] JSONの容量に限界はありますか?
-
[解決済み] SwiftでJSON辞書の型を持つプロパティをデコードする方法 [45] デコード可能なプロトコル
-
[解決済み] SwiftでHTMLエンティティをデコードするには?