Gedemin TLB.IGedemin.Dataset2JSON

Материал из GedeminWiki
Перейти к: навигация, поиск

From Gedemin TLB.pas

 procedure Dataset2JSON(const InQ: IgsIBSQL; const OutS: IgsStream; const Fields: WideString; DateTimeInMs: WordBool; const TZ: WideString; WithMs: WordBool; MakeArray: WordBool; const Name: WideString; Indent: Integer; UTF8: WordBool);

Unit: Gedemin TLB

Type: procedure

Visibility: public

Member Of: IGedemin

Описание

Конвертирует результат выполнения запроса в JSON объект.

Параметры

InQ
Компонент TIBSQL, подготовленный для чтения результирующих данных. Т.е. после выполнения Execute.
OutS
Поток, куда будет записан результат.
Fields
Имена полей для экспорта. Через запятую. Если передана пустая строка, то будут экспортированы все поля из результирующей выборки.
SubObjects
DateTimeInMs
Даты и время записывать не в строковом представлении, а числом, в миллисекундах, в соответствии со стандартом JS.
TZ
Часовой пояс. Сейчас не используется. Должна быть пустая строка.
WithMs
Записывать миллисекунды при сохранении даты и времени в строковом представлении.
MakeArray
Если True, результат будет оформлен как массив. Установите данный параметр в False, если конечный JSON будет формироваться как результат объединения нескольких вызовов Dataset2JSON.
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, "", "", False, "", False, True, "name", 2, True)
 
  MsgBox "Time: " & (WinAPI.GetTickCount - T) & "ms"
End Sub
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты