首页 > 其他分享 >delphi JSON序列化(五)

delphi JSON序列化(五)

时间:2024-01-10 17:22:37浏览次数:34  
标签:TValueObject end string delphi Vcl JSON 序列化 Create FValue

关于TJSONConverters的使用

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Rest.JSON.Types, Rest.JsonReflect;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TValueObject = class
  private
    FValue: string;
    FCreateTime: TDateTime;
  public
    constructor Create;
    property Value: string read FValue write FValue;
    property CreateTime: TDateTime read FCreateTime write FCreateTime;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses
  REST.Json, System.Generics.Collections;


procedure TForm1.FormCreate(Sender: TObject);
begin
  var ce := TConverterEvent.Create(TValueObject, 'FValue'); // 使用此构造函数
  ce.StringConverter := function(Data: TObject; Field: string): string
    begin
      Result := 'haha';
    end;

  TJSONConverters.AddConverter(ce);

  Memo1.Text := TJson.ObjectToJsonString(TValueObject.Create);
end;

{ TValueObject }

constructor TValueObject.Create;
begin
  inherited Create;
  FValue := 'test value';
  FCreateTime := Now;
end;

end.

结果: {"value":"haha","createTime":"2024-01-10T17:15:33.588Z"}

 

标签:TValueObject,end,string,delphi,Vcl,JSON,序列化,Create,FValue
From: https://www.cnblogs.com/Jiaojiawang/p/17956935

相关文章

  • delphi JSON序列化(四)
    涉及的重要类REST.Json,REST.JsonReflect,REST.Json.Interceptors,REST.Json.Types单元中。一、TJson类最简单的一个类,提供了JSON->OBJECT和OBJECT->JSON几个方法,方法有TJsonOptions参数,如:   classfunctionObjectToJsonObject(AObject:TObject;AOptions:TJsonOpti......
  • JOSN字符串字段遍历(json-path)
    官网https://github.com/json-path/JsonPath依赖<dependency><groupId>com.jayway.jsonpath</groupId><artifactId>json-path</artifactId><version>2.5.0</version></dependency>......
  • netty: Marshalling序列化示例
    一、请求对象和响应对象,分别要实现Serializable接口packagecn.edu.tju;importjava.io.Serializable;publicclassUserRequestimplementsSerializable{privateStringusername;privateStringpassword;publicStringgetUsername(){returnus......
  • 如何在 Python 中安装 json 模块
    Python是一种功能强大的编程语言,自带了许多标准库,其中json模块是用于处理JSON数据的模块。在Python中安装json模块非常简单,因为它是标准库的一部分,不需要额外的安装步骤。JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于阅读和编写,并且易于机器解析和生成。Python的......
  • Java之序列化的详细解析
     3.序列化3.1概述Java提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反......
  • Django quertset、set的序列化
    一、几种序列化importjson#序列化querysetdefxuliehuaQueryset(request):querylist=models.LsTable.objects.all()querylist_json=serializers.serialize("json",querylist)returnHttpResponse(querylist_json)#序列化setdefxuliehuaQueryset(......
  • JSON中带多余反斜杠?原来是滥用FastJSON造成的!
    以前对接很多老系统的接口是发现对方返回的JSON往往有些不太对劲,例如{"key_1":"A","key_2":"{\"name\":\"Tom\"}"}由于以前我使用springBoot自带的Jackson,因此从未自己造成这种现象,然而最近在对接一个接口时,我自己使用FastJSON时恰巧就复制了一模一样的bug:我当时就......
  • 数据反序列化参数TypeReference
    使用jackson或者fastjson将json字符串反序列化成对象(以fastjson为例)TypeReference<AjaxResult<List<Person>>>typeReference=newTypeReference<AjaxResult<List<Person>>>(){};Stringjson="{\"code\":200,\"success\......
  • MySQL 8.0的SQL查询JSON返回的数据类型为字符串而非数组
    在MySQL8.0中,SQL查询JSON返回的数据类型确实是字符串,而不是数组。这是因为MySQL将JSON数据存储为字符串,并提供了一些函数和操作符来处理JSON数据。但是,你可以使用内置的JSON函数来处理返回的JSON字符串。例如,你可以使用JSON_EXTRACT函数来提取JSON字符串......
  • redis中序列化问题,value包含全路径类名解析
    1.问题redis中保存的key-value格式value直接存入的是实体对象,值中包含全路径类名,在使用Jackson2JsonRedisSerializer和GenericJackson2JsonRedisSerializer解析器时报错报错内容:com.fasterxml.jackson.databind.exc.InvalidTypeIdException:Couldnotresolvetypeid'entity.r......