Json
Jq:選擇一個道具的鍵和值
我有一個結構如下的 json 翻譯文件。
{ "STRING_ID_1": { "en": "Some englisch text.", "de": "Some german text." }, "STRING_ID_2": { "en": "Some other englisch text.", "de": "Some other german text." }, ... }
使用它作為輸入,我需要生成兩個文件:“en.json”和“de.json”。它們應具有以下格式。
{ "STRING_ID_1": "Some englisch text.", ... }
和
{ "STRING_ID_1": "Some german text.", ... }
在我看來,這
jq
就是您要在這裡使用的工具。誰能給我正確的命令?
$ cat file.json { "STRING_ID_1": { "en": "Some englisch text.", "de": "Some german text." }, "STRING_ID_2": { "en": "Some other englisch text.", "de": "Some other german text." } } $ jq 'with_entries(.value = .value.en)' file.json { "STRING_ID_1": "Some englisch text.", "STRING_ID_2": "Some other englisch text." } $ jq 'with_entries(.value = .value.de)' file.json { "STRING_ID_1": "Some german text.", "STRING_ID_2": "Some other german text." }
重定向到其他文件名以保存輸出。
轉換將每個頂級鍵的值重寫為英語(或德語)字元串的值,而不是鍵值對的對象。