解析 JSON

已編碼為字串的 JSON 可以輕鬆地解析為標準的 Julia 型別:

julia> using JSON

julia> JSON.parse("""{
           "this": ["is", "json"],
           "numbers": [85, 16, 12.0],
           "and": [true, false, null]
       }""")
Dict{String,Any} with 3 entries:
  "this"    => Any["is","json"]
  "numbers" => Any[85,16,12.0]
  "and"     => Any[true,false,nothing]

JSON.jl 的一些直接屬性值得注意:

  • JSON 型別對映到 Julia 中的合理型別:物件變為 Dict,陣列變為 Vector,數字變為 Int64Float64,boolean 變為 Bool,null 變為 nothing::Void
  • JSON 是一種無型別的容器格式:因此返回的 Julia 向量的型別為 Vector{Any},返回的字典的型別為 Dict{String, Any}
  • JSON 標準不區分整數和十進位制數,但 JSON.jl 可以。沒有小數點或科學記數法的數字被解析為 Int64,而帶小數點的數字被解析為 Float64。這與許多其他語言中的 JSON 解析器的行為密切相關。