首页 > 其他分享 >mormot2 json 操作

mormot2 json 操作

时间:2024-04-24 13:58:06浏览次数:18  
标签:core const rawutf8 mormot json mormot2 操作 class

[mormot2 json操作]

本文非完全原创,本文部分内容来自博客园,作者:{咏南中间件}

unit mormot2.json.serial;

interface

uses
  Classes, SysUtils,
  mormot.core.buffers,
  mormot.core.text,
  mormot.core.json,
  mormot.core.base
  //
  ;

type

  { TSerial }

  TSerial = class
    class function Marshal<T>(const aRec: T): rawutf8; overload;
    class function Marshal(const aObj: TObject): rawutf8; overload;
    class function unmarshal<T>(const json: rawutf8): T; overload;
    class procedure unmarshal(const json: rawutf8; aObj: TObject); overload;
  end;

implementation

{ TSerial }

class function TSerial.Marshal(const aObj: TObject): rawutf8;
begin
  Result := mormot.core.text.ObjectToJson(aObj);
end;

class function TSerial.Marshal<T>(const aRec: T): rawutf8;
begin
  result := mormot.core.json.RecordSaveJson(aRec, TypeInfo(T));
end;

class procedure TSerial.unMarshal(const json: rawutf8; aObj: TObject);
begin
  mormot.core.json.ObjectLoadJson(aObj, json);
end;

class function TSerial.unMarshal<T>(const json: rawutf8): T;
begin
  mormot.core.json.RecordLoadJson(result, json, TypeInfo(T));
end;

end.


标签:core,const,rawutf8,mormot,json,mormot2,操作,class
From: https://www.cnblogs.com/hieroly/p/18155101

相关文章

  • 操作系统读后感
    操作系统是管理控制计算机软硬件资源,合理组织计算机工作流程,以方便用户有效的使用计算机的大型程序集合,它的特点是与硬件相关,与应用无关,然后操作系统的核心是进程,进程是一个具有独立功能的程序,在一个数据集合上的一次动态执行过程,进程是程序的执行,操作系统是通过进程管理,进程具有......
  • java操作ftp server
    参考:https://www.jianshu.com/p/2efc2669b736POM依赖<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.6</version></dep......
  • C#使用MiniExcel导入导出数据到Excel/CSV文件【IO操作】
    MiniExcel简介简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel尝试以Stream角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。 特点:   低内存耗用,避免OOM......
  • jmeter有很多个接口需要用到token,怎么简单操作?
     一、实现方法添加HTTP请求默认值:在你的测试计划中,添加一个HTTP请求默认值配置元件(HTTPRequestDefaults),用于设置所有HTTP请求的公共属性,包括服务器地址、端口号等。你可以在这里设置token,以便在所有请求中都能使用它。获取token:在测试计划中,添加一个HTTP请求,......
  • FormData传输JSON同时上传单个/多个文件问题
    背景最近在开发一个功能时,涉及到向后端接口发送:JSON请求参数多个文件刚开始想通过RequestBody(application/json)形式进行传值,但是文件不好处理。有一个通过application/json传输文件数据的方法,就是将文件转成base64,然后在后端进行处理。但是这种方式涉及到大文件传输的时候,转......
  • C语言单向循环链表的增删操作
    /***********************************************************************************************************设计单向循环链表的接口****Copyright(c)[email protected]**********************************************......
  • 单项链表的一些基础操作
    /***********************************************filename:LinkList.c*author:[email protected]:2024/4/2function:设计顺序表note:NoneCopyRight(c)2023-2024邮箱AllRightReseverd///指的是单向链表中的结点有效数据类型,用户可以根据需要进行修改type......
  • 单项循环链表的一些基本操作
    //设计单向循环列表/***********************************************filename:circularlinkedlist.c*author:[email protected]*date:2024/4/23*function:设计单向循环列表*note:None*CopyRight(c)2023-2024邮箱AllRightReseverd**************************......
  • 双向循环链表的一些基础操作
    /***********************************************filename:DoubleList.c*function:设计双向链表*author:[email protected]*date:2024/4/23*note:None*CopyRight(c)2023-2024邮箱AllRightReseverd***********************************************///指的是......
  • mORMot2 的 Logger日志
    mORMot2的Logger日志Logger很多框架都有,简单的实现就是一个队列加一根线,有复杂的,QDAC里面涉及的就很巧妙,本来QDAC就是个线程框架,所以也有先天优势。在mORMot里面自然也有日志实现,它设计的比较麻烦。mORMot的Logger初始化beginTSynLog.Family.Level:=LOG_VERBOSE;......