hledger-lib-1.40: A library providing the core functionality of hledger
Safe HaskellNone
LanguageHaskell2010

Hledger.Data.Json

Synopsis

Instances

Utilities

toJsonText :: ToJSON a => a -> Text Source #

Show a JSON-convertible haskell value as pretty-printed JSON text.

writeJsonFile :: ToJSON a => FilePath -> a -> IO () Source #

Write a JSON-convertible haskell value to a pretty-printed JSON file. Eg: writeJsonFile "a.json" nulltransaction

readJsonFile :: FromJSON a => FilePath -> IO a Source #

Read a JSON file and decode it to the target type, or raise an error if we can't. Eg: readJsonFile "a.json" :: IO Transaction

Orphan instances

FromJSON Account Source # 
Instance details

Methods

parseJSON :: Value -> Parser Account

parseJSONList :: Value -> Parser [Account]

omittedField :: Maybe Account

FromJSON AccountDeclarationInfo Source # 
Instance details

FromJSON Amount Source # 
Instance details

Methods

parseJSON :: Value -> Parser Amount

parseJSONList :: Value -> Parser [Amount]

omittedField :: Maybe Amount

FromJSON AmountCost Source # 
Instance details

Methods

parseJSON :: Value -> Parser AmountCost

parseJSONList :: Value -> Parser [AmountCost]

omittedField :: Maybe AmountCost

FromJSON AmountPrecision Source # 
Instance details

Methods

parseJSON :: Value -> Parser AmountPrecision

parseJSONList :: Value -> Parser [AmountPrecision]

omittedField :: Maybe AmountPrecision

FromJSON AmountStyle Source # 
Instance details

Methods

parseJSON :: Value -> Parser AmountStyle

parseJSONList :: Value -> Parser [AmountStyle]

omittedField :: Maybe AmountStyle

FromJSON BalanceAssertion Source # 
Instance details

Methods

parseJSON :: Value -> Parser BalanceAssertion

parseJSONList :: Value -> Parser [BalanceAssertion]

omittedField :: Maybe BalanceAssertion

FromJSON DigitGroupStyle Source # 
Instance details

Methods

parseJSON :: Value -> Parser DigitGroupStyle

parseJSONList :: Value -> Parser [DigitGroupStyle]

omittedField :: Maybe DigitGroupStyle

FromJSON MarketPrice Source # 
Instance details

Methods

parseJSON :: Value -> Parser MarketPrice

parseJSONList :: Value -> Parser [MarketPrice]

omittedField :: Maybe MarketPrice

FromJSON MixedAmount Source # 
Instance details

Methods

parseJSON :: Value -> Parser MixedAmount

parseJSONList :: Value -> Parser [MixedAmount]

omittedField :: Maybe MixedAmount

FromJSON Posting Source # 
Instance details

Methods

parseJSON :: Value -> Parser Posting

parseJSONList :: Value -> Parser [Posting]

omittedField :: Maybe Posting

FromJSON PostingType Source # 
Instance details

Methods

parseJSON :: Value -> Parser PostingType

parseJSONList :: Value -> Parser [PostingType]

omittedField :: Maybe PostingType

FromJSON Rounding Source # 
Instance details

Methods

parseJSON :: Value -> Parser Rounding

parseJSONList :: Value -> Parser [Rounding]

omittedField :: Maybe Rounding

FromJSON Side Source # 
Instance details

Methods

parseJSON :: Value -> Parser Side

parseJSONList :: Value -> Parser [Side]

omittedField :: Maybe Side

FromJSON Status Source # 
Instance details

Methods

parseJSON :: Value -> Parser Status

parseJSONList :: Value -> Parser [Status]

omittedField :: Maybe Status

FromJSON Transaction Source # 
Instance details

Methods

parseJSON :: Value -> Parser Transaction

parseJSONList :: Value -> Parser [Transaction]

omittedField :: Maybe Transaction

FromJSON Pos Source # 
Instance details

Methods

parseJSON :: Value -> Parser Pos

parseJSONList :: Value -> Parser [Pos]

omittedField :: Maybe Pos

FromJSON SourcePos Source # 
Instance details

Methods

parseJSON :: Value -> Parser SourcePos

parseJSONList :: Value -> Parser [SourcePos]

omittedField :: Maybe SourcePos

ToJSON Account Source # 
Instance details

Methods

toJSON :: Account -> Value

toEncoding :: Account -> Encoding

toJSONList :: [Account] -> Value

toEncodingList :: [Account] -> Encoding

omitField :: Account -> Bool

ToJSON AccountAlias Source # 
Instance details

Methods

toJSON :: AccountAlias -> Value

toEncoding :: AccountAlias -> Encoding

toJSONList :: [AccountAlias] -> Value

toEncodingList :: [AccountAlias] -> Encoding

omitField :: AccountAlias -> Bool

ToJSON AccountDeclarationInfo Source # 
Instance details

ToJSON AccountType Source # 
Instance details

Methods

toJSON :: AccountType -> Value

toEncoding :: AccountType -> Encoding

toJSONList :: [AccountType] -> Value

toEncodingList :: [AccountType] -> Encoding

omitField :: AccountType -> Bool

ToJSON Amount Source # 
Instance details

Methods

toJSON :: Amount -> Value

toEncoding :: Amount -> Encoding

toJSONList :: [Amount] -> Value

toEncodingList :: [Amount] -> Encoding

omitField :: Amount -> Bool

ToJSON AmountCost Source # 
Instance details

Methods

toJSON :: AmountCost -> Value

toEncoding :: AmountCost -> Encoding

toJSONList :: [AmountCost] -> Value

toEncodingList :: [AmountCost] -> Encoding

omitField :: AmountCost -> Bool

ToJSON AmountPrecision Source # 
Instance details

ToJSON AmountStyle Source # 
Instance details

Methods

toJSON :: AmountStyle -> Value

toEncoding :: AmountStyle -> Encoding

toJSONList :: [AmountStyle] -> Value

toEncodingList :: [AmountStyle] -> Encoding

omitField :: AmountStyle -> Bool

ToJSON BalanceAssertion Source # 
Instance details

ToJSON Commodity Source # 
Instance details

Methods

toJSON :: Commodity -> Value

toEncoding :: Commodity -> Encoding

toJSONList :: [Commodity] -> Value

toEncodingList :: [Commodity] -> Encoding

omitField :: Commodity -> Bool

ToJSON DateSpan Source # 
Instance details

Methods

toJSON :: DateSpan -> Value

toEncoding :: DateSpan -> Encoding

toJSONList :: [DateSpan] -> Value

toEncodingList :: [DateSpan] -> Encoding

omitField :: DateSpan -> Bool

ToJSON DigitGroupStyle Source # 
Instance details

ToJSON EFDay Source # 
Instance details

Methods

toJSON :: EFDay -> Value

toEncoding :: EFDay -> Encoding

toJSONList :: [EFDay] -> Value

toEncodingList :: [EFDay] -> Encoding

omitField :: EFDay -> Bool

ToJSON Interval Source # 
Instance details

Methods

toJSON :: Interval -> Value

toEncoding :: Interval -> Encoding

toJSONList :: [Interval] -> Value

toEncodingList :: [Interval] -> Encoding

omitField :: Interval -> Bool

ToJSON Journal Source # 
Instance details

Methods

toJSON :: Journal -> Value

toEncoding :: Journal -> Encoding

toJSONList :: [Journal] -> Value

toEncodingList :: [Journal] -> Encoding

omitField :: Journal -> Bool

ToJSON Ledger Source # 
Instance details

Methods

toJSON :: Ledger -> Value

toEncoding :: Ledger -> Encoding

toJSONList :: [Ledger] -> Value

toEncodingList :: [Ledger] -> Encoding

omitField :: Ledger -> Bool

ToJSON MarketPrice Source # 
Instance details

Methods

toJSON :: MarketPrice -> Value

toEncoding :: MarketPrice -> Encoding

toJSONList :: [MarketPrice] -> Value

toEncodingList :: [MarketPrice] -> Encoding

omitField :: MarketPrice -> Bool

ToJSON MixedAmount Source # 
Instance details

Methods

toJSON :: MixedAmount -> Value

toEncoding :: MixedAmount -> Encoding

toJSONList :: [MixedAmount] -> Value

toEncodingList :: [MixedAmount] -> Encoding

omitField :: MixedAmount -> Bool

ToJSON PayeeDeclarationInfo Source # 
Instance details

ToJSON Period Source # 
Instance details

Methods

toJSON :: Period -> Value

toEncoding :: Period -> Encoding

toJSONList :: [Period] -> Value

toEncodingList :: [Period] -> Encoding

omitField :: Period -> Bool

ToJSON PeriodicTransaction Source # 
Instance details

ToJSON Posting Source # 
Instance details

Methods

toJSON :: Posting -> Value

toEncoding :: Posting -> Encoding

toJSONList :: [Posting] -> Value

toEncodingList :: [Posting] -> Encoding

omitField :: Posting -> Bool

ToJSON PostingType Source # 
Instance details

Methods

toJSON :: PostingType -> Value

toEncoding :: PostingType -> Encoding

toJSONList :: [PostingType] -> Value

toEncodingList :: [PostingType] -> Encoding

omitField :: PostingType -> Bool

ToJSON PriceDirective Source # 
Instance details

Methods

toJSON :: PriceDirective -> Value

toEncoding :: PriceDirective -> Encoding

toJSONList :: [PriceDirective] -> Value

toEncodingList :: [PriceDirective] -> Encoding

omitField :: PriceDirective -> Bool

ToJSON Rounding Source # 
Instance details

Methods

toJSON :: Rounding -> Value

toEncoding :: Rounding -> Encoding

toJSONList :: [Rounding] -> Value

toEncodingList :: [Rounding] -> Encoding

omitField :: Rounding -> Bool

ToJSON Side Source # 
Instance details

Methods

toJSON :: Side -> Value

toEncoding :: Side -> Encoding

toJSONList :: [Side] -> Value

toEncodingList :: [Side] -> Encoding

omitField :: Side -> Bool

ToJSON Status Source # 
Instance details

Methods

toJSON :: Status -> Value

toEncoding :: Status -> Encoding

toJSONList :: [Status] -> Value

toEncodingList :: [Status] -> Encoding

omitField :: Status -> Bool

ToJSON TMPostingRule Source # 
Instance details

Methods

toJSON :: TMPostingRule -> Value

toEncoding :: TMPostingRule -> Encoding

toJSONList :: [TMPostingRule] -> Value

toEncodingList :: [TMPostingRule] -> Encoding

omitField :: TMPostingRule -> Bool

ToJSON TagDeclarationInfo Source # 
Instance details

ToJSON TimeclockCode Source # 
Instance details

Methods

toJSON :: TimeclockCode -> Value

toEncoding :: TimeclockCode -> Encoding

toJSONList :: [TimeclockCode] -> Value

toEncodingList :: [TimeclockCode] -> Encoding

omitField :: TimeclockCode -> Bool

ToJSON TimeclockEntry Source # 
Instance details

Methods

toJSON :: TimeclockEntry -> Value

toEncoding :: TimeclockEntry -> Encoding

toJSONList :: [TimeclockEntry] -> Value

toEncodingList :: [TimeclockEntry] -> Encoding

omitField :: TimeclockEntry -> Bool

ToJSON Transaction Source # 
Instance details

Methods

toJSON :: Transaction -> Value

toEncoding :: Transaction -> Encoding

toJSONList :: [Transaction] -> Value

toEncodingList :: [Transaction] -> Encoding

omitField :: Transaction -> Bool

ToJSON TransactionModifier Source # 
Instance details

ToJSON Pos Source # 
Instance details

Methods

toJSON :: Pos -> Value

toEncoding :: Pos -> Encoding

toJSONList :: [Pos] -> Value

toEncodingList :: [Pos] -> Encoding

omitField :: Pos -> Bool

ToJSON SourcePos Source # 
Instance details

Methods

toJSON :: SourcePos -> Value

toEncoding :: SourcePos -> Encoding

toJSONList :: [SourcePos] -> Value

toEncodingList :: [SourcePos] -> Encoding

omitField :: SourcePos -> Bool

ToJSONKey AccountType Source # 
Instance details

Methods

toJSONKey :: ToJSONKeyFunction AccountType

toJSONKeyList :: ToJSONKeyFunction [AccountType]

FromJSON (DecimalRaw Integer) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (DecimalRaw Integer)

parseJSONList :: Value -> Parser [DecimalRaw Integer]

omittedField :: Maybe (DecimalRaw Integer)

(Integral a, ToJSON a) => ToJSON (DecimalRaw a) Source # 
Instance details

Methods

toJSON :: DecimalRaw a -> Value

toEncoding :: DecimalRaw a -> Encoding

toJSONList :: [DecimalRaw a] -> Value

toEncodingList :: [DecimalRaw a] -> Encoding

omitField :: DecimalRaw a -> Bool