Gedemin TLB.IGedemin.Dataset2JSON
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) (Новая страница: «{{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|1}}|src=procedure Dataset2JSON(const InQ: IgsIBSQL; cons…») |
SYSDBA (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
{{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|1}}|src=procedure Dataset2JSON(const InQ: IgsIBSQL; const OutS: IgsStream; const Fields: WideString; const Name: WideString; Indent: Integer; UTF8: WordBool);}} | {{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|1}}|src=procedure Dataset2JSON(const InQ: IgsIBSQL; const OutS: IgsStream; const Fields: WideString; const Name: WideString; Indent: Integer; UTF8: WordBool);}} | ||
| − | <onlyinclude>Конвертирует результат выполнения запроса в JSON объект</onlyinclude>. | + | <onlyinclude>Конвертирует результат выполнения запроса в JSON объект.</onlyinclude> |
| + | |||
| + | ===Параметры=== | ||
| + | |||
| + | ;InQ: Компонент TIBSQL, подготовленный для чтения результирующих данных. Т.е. после выполнения Execute. | ||
| + | ;OutS: Поток, куда будет записан результат. | ||
| + | ;Fields: Имена полей для экспорта. Через запятую. Если передана пустая строка, то будут экспортированы все поля из результирующей выборки. | ||
| + | ;Name: Имя JSON объекта (массива) с данными. Если не указано (пустая строка), то будет сформирован просто массив без имени. | ||
| + | ;Indent: Отступ в пробелах. Если передано 0, JSON не будет форматирован и будет занимать минимальный размер. | ||
| + | ;UTF8: Если True, то результирующие данные будут преобразованы в UTF8. Если False -- будут записаны в однобайтовой кодировке Win-1251. | ||
| + | |||
| + | ===Примеры использования=== | ||
| + | |||
| + | <syntaxhighlight lang="vbnet"> | ||
| + | Sub ExportToJSON | ||
| + | |||
| + | Const fmCreate = &HFFFF& | ||
| + | Const FileName = "c:\temp\test.json" | ||
| + | |||
| + | Dim FS, Creator, T | ||
| + | |||
| + | T = WinAPI.GetTickCount | ||
| + | |||
| + | Set Creator = New TCreator | ||
| + | |||
| + | Dim q | ||
| + | Set q = Creator.GetObject(nil, "TIBSQL", "") | ||
| + | Set q.Transaction = gdcBaseManager.ReadTransaction | ||
| + | q.SQL.Text = "SELECT id, name, phone, fax, zip, country, district, city, address FROM gd_contact" | ||
| + | q.ExecQuery | ||
| + | |||
| + | Set FS = Creator.GetObject(Array(FileName, fmCreate), "TFileStream", "") | ||
| + | Call System.Dataset2JSON(q, FS, "", "", 2, True) | ||
| + | |||
| + | MsgBox "Time: " & (WinAPI.GetTickCount - T) & "ms" | ||
| + | End Sub | ||
| + | </syntaxhighlight> | ||
Версия 17:34, 14 февраля 2022
From Gedemin TLB.pas
procedure Dataset2JSON(const InQ: IgsIBSQL; const OutS: IgsStream; const Fields: WideString; const Name: WideString; Indent: Integer; UTF8: WordBool);
Unit: Gedemin TLB
Type: procedure
Visibility: public
Member Of: IGedemin
Описание
Конвертирует результат выполнения запроса в JSON объект.
Параметры
- InQ
- Компонент TIBSQL, подготовленный для чтения результирующих данных. Т.е. после выполнения Execute.
- OutS
- Поток, куда будет записан результат.
- Fields
- Имена полей для экспорта. Через запятую. Если передана пустая строка, то будут экспортированы все поля из результирующей выборки.
- Name
- Имя JSON объекта (массива) с данными. Если не указано (пустая строка), то будет сформирован просто массив без имени.
- Indent
- Отступ в пробелах. Если передано 0, JSON не будет форматирован и будет занимать минимальный размер.
- UTF8
- Если True, то результирующие данные будут преобразованы в UTF8. Если False -- будут записаны в однобайтовой кодировке Win-1251.
Примеры использования
Sub ExportToJSON Const fmCreate = &HFFFF& Const FileName = "c:\temp\test.json" Dim FS, Creator, T T = WinAPI.GetTickCount Set Creator = New TCreator Dim q Set q = Creator.GetObject(nil, "TIBSQL", "") Set q.Transaction = gdcBaseManager.ReadTransaction q.SQL.Text = "SELECT id, name, phone, fax, zip, country, district, city, address FROM gd_contact" q.ExecQuery Set FS = Creator.GetObject(Array(FileName, fmCreate), "TFileStream", "") Call System.Dataset2JSON(q, FS, "", "", 2, True) MsgBox "Time: " & (WinAPI.GetTickCount - T) & "ms" End Sub