Lorsque j'essaie de décoder un fichier JSON avec un nombre à virgule flottante, le package Text.JSON me donne le numéro en tant que JSRational. Donc, je peux faire un readJSON sur un JSRational. Cependant, je ne peux pas écrire des nombres rationnels! Est-ce exprès?Haskell Text.Json package peut lire mais pas écrire Rationals?
3
A
Répondre
6
L'arrière-plan du problème est que JSON mélange les types virgule flottante et nombre entier - ils ne sont pas distingués par une balise de type au format JSON. Nous représentons donc tous les types numériques dans JSON via Rationals, sous le capot.
instances pour convertir dans le type JSON sont fournis pour Double, Int etc, mais pas pour rationnelle - mais il est en fait pas une bonne raison pour cela, que l'instance est trivial:
instance JSON Rational where
showJSON r = JSRational True r
readJSON (JSRational _ r) = return r
Questions connexes
- 1. Comment faire un fichier que l'utilisateur peut lire, mais pas écrire?
- 2. iPhone sqlite3 verrouillé, ne peut que lire, ne pas écrire
- 3. comment écrire revenir Haskell
- 4. Metabaseiis ne peut pas écrire
- 5. Peut sérialiser, mais ne peut pas désérialiser?
- 6. comment écrire un foldr HOF dans Haskell
- 7. D (Tango) peut lire et écrire des fichiers ANSI?
- 8. Comment écrire commun « si » ramification dans Haskell
- 9. Lire et écrire Calendrier
- 10. Windows ne peut pas écrire à log.txt
- 11. cakephp: la session ne peut pas écrire
- 12. ne peut pas lire XML via PHP
- 13. installation du package de base 4.x Haskell
- 14. Android ne peut pas écrire dans le fichier
- 15. fprintf renvoie le succès mais ne peut pas écrire dans un fichier existant
- 16. Pourquoi ofstream crée-t-il parfois des fichiers mais ne peut pas leur écrire?
- 17. comment lire/écrire un registre
- 18. Peut compiler mais pas exécuter le code
- 19. GAE, peut persister mais ne peut pas charger l'entité (createQuery)
- 20. iphone SDK: Peut écrire des données à plist sur Simulator mais ne peut pas faire la même chose chez Device?
- 21. Android - Bluetooth Lire écrire problème?
- 22. mpi atomique lire/modifier/écrire
- 23. package javax.servlet n'existe pas
- 24. JAVA: lire et écrire un fichier ensemble
- 25. Lire et écrire simultanément des fichiers?
- 26. Lire (/ écrire) des fichiers en C#
- 27. ne peut pas écrire les fichiers téléchargés dans les rails
- 28. Peut installer, mais ne peut pas accéder, le paquet pwr dans R
- 29. La liste combinée ne peut pas écrire en db
- 30. ne peut pas écrire requête mysql je veux