json - Aeson fromJSON instance -
मेरे पास निम्न डेटा प्रकार है:
डेटा उपयोगकर्ता = उपयोगकर्ता {name :: T । पाठ, बुककाउंट :: इंट, सदस्यजिस :: दिनांक समय, ईमेल :: टी। पाठ, पासवर्ड :: बीबीस्ट्रेडिंग} | UnverifiedUser {nameUnverified :: T.text, email unverified :: T.Text, secret :: integer} और निम्न उदाहरण:
उदाहरण FromJSON उपयोगकर्ता जहां parseJSON (वस्तु ओ) | बस _ & lt; - एम। लुकअप "गुप्त" ओ = असत्यापित उपयोगकर्ता & lt; $ & gt; ओ .: "नाम" & lt; * & gt; ओ: "ईमेल" & lt; * & gt; ओ: "गुप्त" | अन्यथा = उपयोगकर्ता & lt; $ & gt; ओ .: "नाम" & lt; * & gt; ओ: "बुककाउंट" & lt; * & gt; ओ .: "सदस्य" और <;; & gt; ओ: "ईमेल" & lt; * & gt; ओ: "पासवर्ड" parseJSON _ = mzero लेकिन उपयोगकर्ता को दो में विभाजित किया गया था, क्योंकि कभी-कभी couchdb में दस्तावेज़ के पास कुछ फ़ील्ड जैसे गुप्त, या पासवर्ड नहीं होता है मैं डेटा प्रकार के लिए जेएसएएन उदाहरण कैसे बना सकता हूं:
डेटा उपयोगकर्ता = उपयोगकर्ता {name :: T.Text, bookCount :: Int, memberSince :: DateTime, email :: T.Text , पासवर्ड :: बीबीस्ट्रेडिंग, गुप्त :: पूर्णांक} जहां कुछ फ़ील्ड अनिवार्य हैं और अन्य नहीं हैं?
क्यों शायद का उपयोग नहीं करें? डेटा उपयोगकर्ता = उपयोगकर्ता {name :: T.Text, bookCount :: Int, सदस्य: के रूप में :: दिनांक समय, ईमेल :: टी। पाठ, पासवर्ड :: शायद बीबीस्ट्रेडिंग, नाम का सत्यापन नहीं किया गया है :: टी। पाठ, ईमेल सत्यापित नहीं है :: टी। पाठ, गुप्त :: शायद पूर्णांक} उदाहरण से जेजेएसएन उपयोगकर्ता जहां parseJSON (ऑब्जेक्ट ओ ) = उपयोगकर्ता & lt; $ & gt; ओ .: "नाम" & lt; * & gt; ओ: "बुककाउंट" & lt; * & gt; ओ .: "सदस्य" और <;; & gt; ओ: "ईमेल" & lt; * & gt; ओ।:? "पासवर्ड" & lt; * & gt; ओ: "नाम का सत्यापन नहीं" & lt; * & gt; ओ: "ईमेल अनुपयुक्त" & lt; * & gt; ओ।:? "गुप्त"
Comments
Post a Comment