gpt4 book ai didi

json - Haskell Text.Json包可以读但不能写Rationals?

转载 作者:行者123 更新时间:2023-12-01 11:07:56 25 4
gpt4 key购买 nike

当我尝试解码带有 float 的 JSON 文件时,Text.JSON 包将数字作为 JSRational 提供给我。所以,我可以在 JSRational 上执行 readJSON。但是,我不会写有理数!这是故意的吗?

最佳答案

问题的背景是 JSON 混淆了浮点和整数类型——它们不是通过 JSON 格式的类型标签来区分的。因此,我们在后台通过 Rationals 表示 JSON 中的所有数字类型。

为 Double、Int 等提供了转换为 JSON 类型的实例,但没有为 Rational 提供——尽管实际上没有充分的理由这样做,因为实例是微不足道的:

instance JSON Rational where
showJSON r = JSRational True r
readJSON (JSRational _ r) = return r

关于json - Haskell Text.Json包可以读但不能写Rationals?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3428543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com