json2-0.2: Examples/ExampleQuery.hs
module Main where
import Data.JSON2
import Data.JSON2.Query
citys :: Jsons
citys =
[
"Europa" ==> "Ukraine" ==> ["Kiyv", "Gitomir", "Lviv"],
"Asia" ==> "Japan" ==> ["Tokyo"],
"Europa" ==> "UK" ==> ["London", "Glasgow"],
"Europa" ==> "Germany" ==> ["Berlin", "Bonn"],
"America" ==> "USA" ==> ["NewYork"],
"America" ==> "Canada" ==> ["Toronto"],
"Australia" ==> ["Melburn", "Adelaida"]
]
ex0 = pprints citys
jCitys = foldl unionRecObj emptyObj citys
ex1 = pprint jCitys
query2 = getFromKeys ["Europa", "America", "Atlantida"]
ex2 = pprints $ query2 jCitys
query3 = getFromKeys ["Europa", "America"] >>> getFromObj
ex3 = pprints $ query3 jCitys
-- Query: All city Europa and Australia
-- query31, query32, query33 is equal
query31 = getFromKeys ["Europa", "Australia"]
>>> (getFromArr `orElse` getFromObj)
>>> (isStr `orElse` getFromArr)
ex31 = pprints $ query31 jCitys
query32 = getFromKeys ["Europa", "Australia"]
>>> (getFromObj `when` isObj)
>>> getFromArr
ex32 = pprints $ query32 jCitys
query33 = getFromKeys ["Europa", "Australia"]
>>> deep getFromArr
ex33 = pprints $ query33 jCitys