• Grijjy.Bson.Serialization.pas


    Grijjy.Bson.Serialization.pas

    序列Delphi records 和 objects 为 JSON 和 BSON 格式 (or to
    TgoBsonDocument values).

    class procedure Serialize<T>(const AValue: T; out AJson: String); overload; inline; static;
    class procedure Serialize<T>(const AValue: T; const ASettings: TgoJsonWriterSettings; out AJson: String); overload; inline; static;
    class procedure Serialize<T>(const AValue: T; out ABson: TBytes); overload; inline; static;
    class procedure Serialize<T>(const AValue: T; out ADocument: TgoBsonDocument); overload; inline; static;
    class procedure Serialize<T>(const AValue: T; const AWriter: IgoBsonBaseWriter); overload; static;
    。。。。。。

      支持的数据格式

    Boolean, can be serialized as:
    * Boolean (default)
    * Int32, Int64, Double (False=0, True=1)
    * String (False="false", True="true")

    Integer types:
    * Int32, Int64 (default)
    * Double
    * String (IntToStr-conversion)

    Enumerated types:
    * Int32 (default, ordinal value)
    * Int64 (ordinal value)
    * String (name of the enum value)

    Set types:
    * Int32, Int64 (default, stored as a bitmask)
    * String (comma-separated list of elements, without any (square) brackets)

    Floating point types:
    * Double (default)
    * Int32, Int64 (truncated version)
    * String (FloatToStr-conversion, in US format)

    TDateTime:
    * DateTime (default)
    * Int64 (number of UTC ticks since midnight 1/1/0001, using 10,000 ticks per
    millisecond)
    * String (DateToISO8601-conversion)
    * Document (a document with two elements: TimeStamp serialized as a DateTime
    value, and Ticks serialized as the number of ticks since midnight 1/1/0001).
    For example:
    <tt>{ "DateTime" : ISODate("2016-05-01T15:28:57.784Z"),
    "Ticks" : NumberLong("635977133377840000") }</tt>

    String:
    * String (default)
    * Symbol
    * ObjectId (if the string is a valid TgoObjectId)

    WideChar:
    * Int32 (default, ordinal value)
    * Int64 (ordinal value)
    * String (single-character string)

    TGUID:
    * Binary (default)
    * String (without curly braces)

    TgoObjectId:
    * TgoObjectId (default)
    * String (string value of ObjectId)

    TBytes:
    * Binary (default)
    * String (hex string, using 2 hex digits per byte)
    * Array (a regular JSON array of bytes)

  • 相关阅读:
    原码, 反码, 补码 详解
    二进制与十进制间的转换方法(图文教程)
    题目要求:将a,b两个数的值进行交换,并且不使用任何的中间变量。
    【转】面向对象的7个基本设计原则
    【转】UML类图符号 6种关系说明以及举例
    关于try catch
    关于异常
    java File类中的mkdir()和mkdirs()有什么区别
    反射中getMethods 与 getDeclaredMethods 的区别
    【转】Java利用反射机制访问私有化构造器
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/14036070.html
Copyright © 2020-2023  润新知