Popularity
6.4
Stable
Activity
0.0
Declining
6
3
6

Monthly Downloads: 86
Programming language: Haskell
License: MIT License
Tags: Data    
Latest version: v1.5.0

hjsonpointer alternatives and similar packages

Based on the "Data" category.
Alternatively, view hjsonpointer alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of hjsonpointer or a related project?

Add another 'Data' Package

README

Summary

JSON Pointer library for Haskell.

Hackage / GitHub / Travis CI

Example

module Example where

import           Control.Monad (unless)
import           Data.Aeson
import qualified JSONPointer   as JP

main :: IO ()
main = do
    -- JSON Pointers must either be empty or start with a /.
    pntr1 <- case JP.unescape "/foo/0" of
                 Left _     -> error "Failed to construct JSON Pointer."
                 Right pntr -> return pntr

    -- We can also write JSON Pointers in Haskell.
    let pntr2 = JP.Pointer [JP.Token "/"]
    -- When we do this we don't have to escape / or ~ characters
    -- (as ~1 and ~0 respectively) like we do in an escaped JSON
    -- Pointer string.
    unless (JP.unescape "/~1" == Right pntr2) (error "ohno!")

    print (JP.resolve pntr1 document)
    print (JP.resolve pntr2 document)

  where
    document :: Value
    document = object [ "foo" .= [String "bar", String "baz"]
                      , "/"   .= String "quux"
                      ]

Output:

Right (String "bar")
Right (String "quux")