Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在Delphi中创建没有名称的JSONArray?_Arrays_Json_File_Delphi - Fatal编程技术网

Arrays 如何在Delphi中创建没有名称的JSONArray?

Arrays 如何在Delphi中创建没有名称的JSONArray?,arrays,json,file,delphi,Arrays,Json,File,Delphi,我已经在互联网上搜索了几天,尝试了很多东西,但是我还没有创建一个没有名字的JSONArray 通常情况下,JSONArray如下所示: "MyArray" [ //content ] 但我需要这个: [ //content ] 我的JSON文件最终需要如下所示: [ { "videos":"Hello.MOV", "render-status":"ready", "output":"test\\out1.mov"

我已经在互联网上搜索了几天,尝试了很多东西,但是我还没有创建一个没有名字的JSONArray

通常情况下,JSONArray如下所示:

"MyArray" [

//content

]
但我需要这个:

[

//content

]
我的JSON文件最终需要如下所示:

[

    {

        "videos":"Hello.MOV",

        "render-status":"ready",

        "output":"test\\out1.mov"

    },

    {

        "videos":"123.MOV",

        "render-status":"ready",

        "output":"test\\out1.mov"

    },

]
顺便说一下,我正在使用Delphi10.2

谁能给我指出正确的方向吗

米卡

使用


您也可以在Delphi中使用Stadard System.JSON对象

uses
  System.JSON;

function CreateArray: TJSONArray;
var
  LTempObject: TJSONOBject;
begin
  Result := TJSONArray.Create;

  LTempObject := TJSONOBject.Create;
  LTempObject.AddPair('videos', 'Hello.MOV');
  LTempObject.AddPair('render-status', 'ready');
  LTempObject.AddPair('output', 'test\out1.mov');
  Result.AddElement(LTempObject);

  LTempObject := TJSONOBject.Create;
  LTempObject.AddPair('videos', '123.MOV');
  LTempObject.AddPair('render-status', 'ready');
  LTempObject.AddPair('output', 'test\out1.mov');
  Result.AddElement(LTempObject);
end;
像这样使用:

var
  LJSON: TJSONArray;
begin
  LJSON := CreateArray;
  //Will give you exact string as above
  //without and formatting
  memo.Text := LJSON.ToJSON; 
end;

创建一个数组作为根对象。就是这样。你也可以将数组定义为全局变量或常量。@AbdullahIlgaz我不知道这和这个问题有什么关系。。。全局变量在Delphi中是非常不受欢迎的…嗨,这听起来像是一个愚蠢的问题,但我还是要问:为什么“a.FromUtf8JSON(JSON_数组)”=“2”(正如您在“CheckEquals(2,a.Count)”中预期的那样是“2”)?这只是一个验证库例程的单元测试代码,它应该检查数组是否有2项。。。
var
  LJSON: TJSONArray;
begin
  LJSON := CreateArray;
  //Will give you exact string as above
  //without and formatting
  memo.Text := LJSON.ToJSON; 
end;