json2-0.8: 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 = pprint citys
jCitys = foldl mergeRec emptyObj citys
ex1 = pprint jCitys
query2 = getFromKeys ["Europa", "America", "Atlantida"]
ex2 = pprint $ query2 jCitys
query3 = getFromKeys ["Europa", "America"] >>> getFromObj
ex3 = pprint $ query3 jCitys
-- Query: All city Europa and Australia
-- query31, query32, query33 is equal
query31 = getFromKeys ["Europa", "Australia"]
>>> (getFromArr `orElse` getFromObj)
>>> (isStr `orElse` getFromArr)
ex31 = pprint $ query31 jCitys
query32 = getFromKeys ["Europa", "Australia"]
>>> (getFromObj `when` isObj)
>>> getFromArr
ex32 = pprint $ query32 jCitys
query33 = getFromKeys ["Europa", "Australia"]
>>> deep getFromArr
ex33 = pprint $ query33 jCitys