- groupWithCol :: Json -> Json
- groupWithNCol :: Int -> Json -> Json
Documentation
groupWithCol :: Json -> JsonSource
Conversion SQL-like JSON array to tree-like JSON object with use column.
groupWithNCol :: Int -> Json -> JsonSource
Conversion SQL-like JSON array to tree-like JSON object with use columns.
COMPLEX EXAMPLE :
import Database.HDBC import Database.HDBC.Sqlite3 import Data.JSON2 dbName = "..." selectSql = "SELECT * from test" main = do conn <- connectSqlite3 dbName stmtSel <- prepare conn selectSql execute stmtSel [] q <- sFetchAllRows stmtSel mapM print q -- [Just "A",Just "1",Just "Pupkin",Just "1"] -- [Just "A",Just "2",Just "Sidorov",Just "2"] -- [Just "B",Just "22",Just "Petrov",Just "3"] -- [Just "B",Just "22",Just "Ivanov",Just "4"] -- [Just "B",Just "22",Just "Golubev",Just "5"] -- [Just "B",Just "33",Just "Petrov",Just "6"] let json = toJson (q :: [[Maybe String]]) pprint json -- [ -- ["A", "1", "Pupkin", "1"], -- ["A", "2", "Sidorov", "2"], -- ["B", "22", "Petrov", "3"], -- ["B", "22", "Ivanov", "4"], -- ["B", "22", "Golubev", "5"], -- ["B", "33", "Petrov", "6"] -- ] let json' = groupWithNCol 2 json pprint json' -- { -- "A": { -- "1": [["Pupkin", "1"]], -- "2": [["Sidorov", "2"]] -- }, -- "B": { -- "22": [["Petrov", "3"], ["Ivanov", "4"], ["Golubev", "5"]], -- "33": [["Petrov", "6"]] -- } -- } disconnect conn