解析 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
,数字变为Int64
或Float64
,boolean 变为Bool
,null 变为nothing::Void
。 - JSON 是一种无类型的容器格式:因此返回的 Julia 向量的类型为
Vector{Any}
,返回的字典的类型为Dict{String, Any}
。 - JSON 标准不区分整数和十进制数,但 JSON.jl 可以。没有小数点或科学记数法的数字被解析为
Int64
,而带小数点的数字被解析为Float64
。这与许多其他语言中的 JSON 解析器的行为密切相关。