json - 在 JSON 中存储记录数组

标签 json delphi delphi-xe3 superobject

如何通过 SuperObject 库将记录数组存储在 JSON 中。例如..

type
  TData = record
    str: string;
    int: Integer;
    bool: Boolean;
    flt: Double;
  end;

var
DataArray: Array[0..100] of TData;

最佳答案

只需使用 super 对象 Marshalling TSuperRTTIContext

program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  superobject,
  System.SysUtils;

type
  TData = record
    str : string;
    int : Integer;
    bool : Boolean;
    flt : Double;
  end;

  TDataArray = Array [0 .. 100] of TData;

procedure Test;
var
  DataArray : TDataArray;
  so :        ISuperObject;
  ctx :       TSuperRttiContext;
begin
  ctx := TSuperRttiContext.Create;
  try
    so := ctx.AsJson<TDataArray>( DataArray );
  finally
    ctx.Free;
  end;
  Writeln( so.AsJson );
end;

begin
  try
    Test;
  except
    on E : Exception do
      Writeln( E.ClassName, ': ', E.Message );
  end;

  ReadLn;

end.

关于json - 在 JSON 中存储记录数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15430110/

相关文章:

ruby - 带有 JRuby 的 JSON - 不以 UTF-8 解析结果

delphi - 在 Delphi 中创建可访问的 UI 组件

java - 将 JavaBeans 源解析为 json 描述符

javascript - 获取 JSON 数组中的最大值

delphi - 下载代码并即时执行

delphi - 在服务器上运行的应用程序,编写XML文件-是否需要成为控制台应用程序?

delphi - 如何在 delphi 中监听和重新映射 tcp 连接?

delphi - ShowMessage隐藏

android - 如何部分删除 JSON 在 android 上使用 intent putExtra

delphi - 快速读取 Nexus 数据库表