본문 바로가기

운동하는 개발자/Delphi

델파이 DBXJSON를 이용한 json 생성 / how to make json at delphi (DBXJSON)

728x90

델파이2010에선 JSON unit이 없어서 DBXJSON을 사용하여 json을 생성하는 방법입니다

uses
	DBXJSON;

function makejson():string;
var
  JTopObj, JObj : TJSONObject;
  JArr : TJSONArray;
  JPair : TJSONPair;
  i : integer;
  sTemp : String;
begin
  JTopObj := TJSONObject.Create;
  JArr := TJSONArray.Create;

  for i := 1 to 3 do
  begin
    JObj := TJSONObject.Create; 
    JObj.AddPair(TJSONPair.Create('array_index', TJSONNumber.Create( i ))); 
    JObj.AddPair(TJSONPair.Create('itemDate', '20210817'));
    JObj.AddPair(TJSONPair.Create('itemname', 'egg' ));    
    JArr.AddElement(JObj);
  end;
  JPair := TJSONPair.Create( 'items', JArr );
  JTopObj.AddPair(TJSONPair.Create('price','3000'));
  JTopObj.AddPair(TJSONPair.Create('type','food'));
  JTopObj.AddPair(JPair);

  sTemp := JTopObj.ToString;
  result := sTemp;
end;

위와 같이 생성가능하며 생성된 문구는 아래와 같습니다

{"price":"3000","type":"food",
"items":[{"array_index":1,"itemDate":"20200708","itemname":"egg"},
		 {"array_index":2,"itemDate":"20200708","itemname":"egg"}]}

 

728x90