第 5 章

文本、JSON 与 CSV

处理 UTF-8 文本、正则表达式和结构化数据。

JSON 数据流

example.hhy
read_text(path("users.json"))
    |> parse_json
    |> get("users")
    |> stream
    |> where { user -> user.active == true }
    |> collect
    |> encode_json({ pretty: true })
    |> save_text(path("active-users.json"))

JSON 解析严格拒绝重复 key、非法 Unicode surrogate 和非有限数值。Map 编码保持确定行为。

文本与 CSV

  • contains、starts_with、ends_with、trim、split、join、replace、lower、upper
  • PCRE2 正则字面量与命名捕获
  • 流式 CSV record,支持 header、delimiter 与 quote 选项
  • String 始终验证 UTF-8,并支持嵌入 U+0000