眠気.jl

投稿=不定期

JuliaでJSON操作

動機

いずれJuliaでWebアプリを作るから
PythonJSONを扱うことが多いので、Juliaでもやりたくなったから

目標

JuliaでJSON操作

作業環境

今回の環境(前回と同様)

julia> versioninfo()
Julia Version 1.1.0
...

JSONをパース

(v1.1) pkg>add JSON
julia> edit("json_parse.jl")

json_parse.jlが作成され、エディタが自動で開くので、次のように編集

using JSON

first_json = """{
        "key":"value",
        "number":8,
        "array":[2,3,5,7,11],
        "dict":{"k1":"val1","k2":2}
}"""

print(first_json)
print("JSONパースしてみる")
print(JSON.parse(first_json))

シェルで実行

shell> julia json_parse.jl
{
        "key":"value",
        "number":8,
        "array":[2,3,5,7,11],
        "dict":{"k1":"val1","k2":2}
}JSONパースしてみるDict{String,Any}("key"=>"value","dict"=>Dict{String,Any}("k1"=>"val1","k2"=>2),"number"=>8,"array"=>Any[2, 3, 5, 7, 11])

Dict{String,Any}→JSONなのでkeyはString

辞書型をJSONに変換,JSONファイルの作成

lets_make_json.jlを次の様に決めて実行すると

using JSON

see_json_key = Dict{Int64,Union{Int64,String}}(1=>"text", 2=>"hello",3=>1111)

print(JSON.json(see_json_key))

f = open("hello.json", "w")
#hello.jsonを作成

JSON.print(f, see_json_key)
#hello.jsonにsee_json_keyを書き込む

close(f)
#閉じる

1.keyがStringに勝手になっていること
2.hello.jsonが作成され,書き込みが出来ていること
の2つを確認する

shell> julia lets_make_json.jl
{"2":"hello","3":1111,"1":"text"}
shell> cat hello.json
{"2":"hello","3":1111,"1":"text"}

できた!

感想

ほぼPythonだった

参考URL,書籍

Julia 1.0 Programming Cookbook: Over 100 numerical and distributed computing recipes for your daily data science workflow (English Edition)