jsonライブラリを使用してJSON文字列を解析しようとしています。このコードは、GHCiの中で完璧に動作します:GHCIでjsonパッケージを使用してJSONを解析できますが、GHCでコンパイルした場合は解析できません
import Text.JSON as JS
JS.decode "{}" :: Result JSValue
しかし、私はコンパイルされたプログラムで同じコードを使用する場合:
case JS.decode "{}" of
JS.Ok value -> putStrLn value
JS.Error err -> error err
文字列を解析することができません:
Unable to read String
私はそれはちょうど私が何かばかげていると思うが、私は何を理解することはできません....
非常に非常に歓迎!
更新:
私はそれが問題を引き起こしてアプリの他の部分で何かしたかどうかを確認するために、このコードを書いた:
import qualified Text.JSON as JS
main :: IO()
main = do
case JS.decode "{}" of
JS.Ok value -> putStrLn value
JS.Error err -> error err
私はこれと同じエラーを取得しかし:
をtest: Unable to read String
これはGHC 7.0.3でコンパイルされ、ソースはvimで編集されました。しかし、アプリケーションの外部から渡された文字列データでも同じエラーが発生します。今考えているうちに本当に...
おっと、それはタイプミスでした。実際のコードでは小文字ですが、私に考えを与えてくれました:) – PeterM
実際に大文字の問題だった場合は、別のエラーが発生していました。それでも、よく目撃された。 –