Add JSON support to db.describe module. The JSON output looks like:
```json
…{
"table": "mysoils",
"description": "",
"insert": null,
"delete": null,
"ncols": 7,
"nrows": 1428,
"columns": [
{
"position": 1,
"column": "cat",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 2,
"column": "OBJECTID",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 3,
"column": "AREA",
"description": "",
"type": "DOUBLE PRECISION",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 4,
"column": "PERIMETER",
"description": "",
"type": "DOUBLE PRECISION",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 5,
"column": "GSLNC250_",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 6,
"column": "GSLNC250_I",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 7,
"column": "GSL_NAME",
"description": "",
"type": "CHARACTER",
"length": 6,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
}
]
}
```
Where `???` was used as special string for unknown in plain format, I have changed it to null. For instance, select, update, delete and insert privilege information field.