Vim 8.0 で追加された関数 json_decode()/json_encode()
Vim 8.0 では JSON 形式のデータを扱う機能が追加されました。
[注意]
Vim のヘルプを日本語翻訳してるvimdoc-jaですが、まだ最新版の Vim のヘルプに追従しておらず jsondecode()
、jsonencode()
と表記されていますが、正しくは json_decode()
と json_encode()
になります。
他にも最新版のヘルプに追従されてない表記があるので、最新版の機能などを使う際は :help json_decode()@en
のように英語版のヘルプを参照するとよいです。
[使い方]
json_encode({expr})
は Vim script の値を渡して JSON 形式の文字列に変換し、json_decode({string})
は JSON 形式の文字列を Vim script の値に変換します。
let s:data = { \ "size" : 3, \ "chars" : [ \ "homu", \ "mami", \ "mada" \ ] \} let s:json = json_encode(s:data) echo s:json " => {"chars":["homu","mami","mada"],"size":3} echo type(s:json) == v:t_string " => 1 echo json_decode(s:json) " => {'chars': ['homu', 'mami', 'mada'], 'size': 3}