jqでjsonファイルを文字列として出力したい。
対応
@json オプションを使用する
message.json
{
"id": "xyz",
"type": "TYPE",
"body": "あいうえお。\nかきくけこ。",
"nest":{
"key": "サシスセソ。\nタチツテト。",
"array": [
"なにぬねの\tはっひふっへほ~"
]
}
}
cmd
C:\Users\szk\github\szk302\work>cat message.json | jq "@json"
結果
C:\Users\szk\github\szk302\work>cat message.json | jq "@json"
"{\"id\":\"xyz\",\"type\":\"TYPE\",\"body\":\"あいうえお。\\nかきくけこ。\",\"nest\":{\"key\":\"サシ
スセソ。\\nタチツテト。\",\"array\":[\"なにぬねの\\tはっひふっへほ~\"]}}"
元に戻す場合はfromjsonを使用する
cmd
cat message.json | jq "@json" | jq "fromjson"
結果
C:\Users\szk\github\szk302\work>cat message.json | jq "@json" | jq "fromjson"
{
"id": "xyz",
"type": "TYPE",
"body": "あいうえお。\nかきくけこ。",
"nest": {
"key": "サシスセソ。\nタチツテト。",
"array": [
"なにぬねの\tはっひふっへほ~"
]
}
}