Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
在Delphi XE5中生成包含数组的示例JSON 我从未做过我认为简单的事情。 我想使用TJSONObject,TJSONArray,TJSONPair等来构建一个简单的JSON,如下所示: { “APIKEY”:“SADFSAFDSA”, “用户ID”:“123123”, “交易:” [{ “交易ID”:1, “金额”:23 }, { “交易ID”:2, “金额”:53 }] }_Json_Delphi - Fatal编程技术网

在Delphi XE5中生成包含数组的示例JSON 我从未做过我认为简单的事情。 我想使用TJSONObject,TJSONArray,TJSONPair等来构建一个简单的JSON,如下所示: { “APIKEY”:“SADFSAFDSA”, “用户ID”:“123123”, “交易:” [{ “交易ID”:1, “金额”:23 }, { “交易ID”:2, “金额”:53 }] }

在Delphi XE5中生成包含数组的示例JSON 我从未做过我认为简单的事情。 我想使用TJSONObject,TJSONArray,TJSONPair等来构建一个简单的JSON,如下所示: { “APIKEY”:“SADFSAFDSA”, “用户ID”:“123123”, “交易:” [{ “交易ID”:1, “金额”:23 }, { “交易ID”:2, “金额”:53 }] },json,delphi,Json,Delphi,从逻辑上讲,我要做的是创建一个TJSONObject,然后添加3个TJSONPair,第三对是TJSONPair事务和tjsonarray 然而,我没有得到我想要的。对于事务对,如果我将事务tjsonarray转换为字符串,那么它将显示为无效的长字符串 任何帮助都将不胜感激 试试这个 {$APPTYPE CONSOLE} {$R *.res} uses Data.DBXJSON, System.SysUtils; var LJson, LJsonObject: TJSONOb

从逻辑上讲,我要做的是创建一个
TJSONObject
,然后添加3个
TJSONPair
,第三对是
TJSONPair
事务和
tjsonarray

然而,我没有得到我想要的。对于事务对,如果我将事务
tjsonarray
转换为字符串,那么它将显示为无效的长字符串

任何帮助都将不胜感激

试试这个

{$APPTYPE CONSOLE}

{$R *.res}

uses
  Data.DBXJSON,
  System.SysUtils;


var
  LJson, LJsonObject: TJSONObject;
  LArr: TJSONArray;
begin
  try
      ReportMemoryLeaksOnShutdown:=True;
      LJsonObject := TJSONObject.Create;
      try
        LJsonObject.AddPair(TJSONPair.Create('APIKEY', 'sadfsafsafdsa'));
        LJsonObject.AddPair(TJSONPair.Create('UserID', '123123123'));

          LArr := TJSONArray.Create;
          LJson   := TJSONObject.Create;
          LJson.AddPair(TJSONPair.Create('TransactionID', '1'));
          LJson.AddPair(TJSONPair.Create('Amount', '23'));
          LArr.Add(LJson);

          LJson   := TJSONObject.Create;
          LJson.AddPair(TJSONPair.Create('TransactionID', '2'));
          LJson.AddPair(TJSONPair.Create('Amount', '53'));
          LArr.Add(LJson);

          LJsonObject.AddPair(TJSONPair.Create('Transactions', LArr));

        Write(LJsonObject.ToString);

      finally
        LJsonObject.Free;  //free all the child objects.
      end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  Readln;
end.
这将创建一个类似这样的JSON

{   "APIKEY": "sadfsafsafdsa",   
    "UserID": "123123123",   
    "Transactions": 
    [{
      "TransactionID": "1",
      "Amount": "23"
    },
    {
      "TransactionID": "2",
      "Amount": "53"
    }] 
}

我建议你试试别的图书馆。DbExpress被发现有bug,并且仅限于JSON。还有很多样板。试试你的机会(例如,请参阅“助手”部分。然后你可以浏览该助手finctions实现以获得一个现成的示例。还有示例程序)