JSON 构建及解析

import encoding.json.*
import std.collection.*

main() {
    "\n使用 JsonObject 构建json:\n" |> println
    let date = JsonObject()
    let map = HashMap<String, JsonValue>([
        ("name", JsonString("Alice")), 
        ("age", JsonInt(32))
    ])
    date.puts(map).put("date", JsonString("2024-10-27"))
    date.toJsonString() |> println
    "\n-----------------------------" |> println
    "\n从字符串解析Json:\n" |> println
    let json = ##"{
        "name": "Tom", 
        "age": 30,
        "city": "Shanghai"
    }"##
    let re = JsonValue.fromStr(json)
    re.toJsonString() |> println
}

extend JsonObject {
    public func puts(map: HashMap<String, JsonValue>): JsonObject {
        for ((k, v) in map) {
            this.put(k, v)
        }
        this
    }
}