Elm:
Làm việc với JSON
Cách thực hiện:
Elm xử lý JSON sử dụng các module Json.Decode
và Json.Encode
. Dưới đây là một ví dụ cơ bản:
import Html exposing (text)
import Json.Decode exposing (string)
-- Giải mã một chuỗi JSON đơn giản
jsonString : String
jsonString = "{\"name\": \"Elm\"}"
type alias User =
{ name : String }
userNameDecoder : Json.Decode.Decoder String
userNameDecoder =
Json.Decode.field "name" string
main =
case Json.Decode.decodeString userNameDecoder jsonString of
Ok name ->
text ("Chào mừng, " ++ name)
Err _ ->
text "Rất tiếc, có lỗi xảy ra!"
Đầu ra:
Chào mừng, Elm
Sâu hơn
JSON đã trở thành tiêu chuẩn de facto cho các API web kể từ đầu những năm 2000, thay thế XML bởi sự đơn giản của nó. Mặc dù Elm được biết đến với tính ngắn gọn và an toàn về kiểu dữ liệu, việc xử lý JSON có thể trở nên rườm rà do nhu cầu phải có các bộ giải mã rõ ràng.
Các lựa chọn khác như Haskell sử dụng typeclasses cho việc mã hóa/giải mã JSON, cung cấp nhiều chức năng “thuận tiện” hơn ngay từ đầu. Tuy nhiên, cách tiếp cận của Elm giúp duy trì an toàn về kiểu dữ liệu và tránh lỗi thời gian chạy. Các bộ giải mã chỉ rõ cách để chuyển đổi JSON thành kiểu dữ liệu của Elm, và bộ mã hóa thực hiện quá trình ngược lại.
Xem thêm
Để biết thêm thông tin và tài liệu:
- Hướng dẫn JSON chính thức của Elm: Làm việc với JSON trong Elm
- Tài liệu Json.Decode: Elm Json.Decode
- Tài liệu Json.Encode: Elm Json.Encode