Delphi ActiveX
Delphi ActiveX
Akeneo: Get List of Products
See more HTTP Misc Examples
Using a previously obtained request token, demonstrates how to get a list of products.Chilkat Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
http: TChilkatHttp;
jsonResponse: WideString;
json: TChilkatJsonObject;
v_linksSelfHref: WideString;
v_linksFirstHref: WideString;
current_page: Integer;
i: Integer;
count_i: Integer;
identifier: WideString;
family: WideString;
parent: WideString;
enabled: Integer;
created: WideString;
updated: WideString;
j: Integer;
count_j: Integer;
strVal: WideString;
locale: WideString;
scope: WideString;
data: Integer;
data_str: WideString;
v_linksDownloadHref: WideString;
data_int: Integer;
dataAmount: WideString;
dataUnit: WideString;
begin
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := TChilkatHttp.Create(Self);
// Use your previously obtained access token.
// See Get Akeneo Access Token
http.AuthToken := 'access_token';
jsonResponse := http.QuickGetStr('http://pim.my-akeneo-site.com/api/rest/v1/products');
if (http.LastMethodSuccess <> 1) then
begin
Memo1.Lines.Add(http.LastHeader);
Memo1.Lines.Add(http.LastErrorText);
Exit;
end;
Memo1.Lines.Add(jsonResponse);
// A sample response looks like this.
// See below for sample code to parse the JSON response..
// {
// "_links": {
// "self": {
// "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3"
// },
// "first": {
// "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3"
// },
// "previous": {
// "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3"
// },
// "next": {
// "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3"
// }
// },
// "current_page": 3,
// "_embedded": {
// "_items": [
// {
// "_links": {
// "self": {
// "href": "https://demo.akeneo.com/api/rest/v1/product/top"
// }
// },
// "identifier": "top",
// "family": "tshirt",
// "groups": [],
// "parent": null,
// "categories": [
// "summer_collection"
// ],
// "enabled": true,
// "values": {
// "name": [
// {
// "data": "Top",
// "locale": "en_US",
// "scope": null
// },
// {
// "data": "D�bardeur",
// "locale": "fr_FR",
// "scope": null
// }
// ],
// "description": [
// {
// "data": "Summer top",
// "locale": "en_US",
// "scope": "ecommerce"
// },
// {
// "data": "Top",
// "locale": "en_US",
// "scope": "tablet"
// },
// {
// "data": "D�bardeur pour l'�t�",
// "locale": "fr_FR",
// "scope": "ecommerce"
// },
// {
// "data": "D�bardeur",
// "locale": "fr_FR",
// "scope": "tablet"
// }
// ],
// "price": [
// {
// "locale": null,
// "scope": null,
// "data": [
// {
// "amount": "15.5",
// "currency": "EUR"
// },
// {
// "amount": "15",
// "currency": "USD"
// }
// ]
// }
// ],
// "color": [
// {
// "locale": null,
// "scope": null,
// "data": "black"
// }
// ],
// "size": [
// {
// "locale": null,
// "scope": null,
// "data": "m"
// }
// ]
// },
// "created": "2016-06-23T18:24:44+02:00",
// "updated": "2016-06-25T17:56:12+02:00",
// "associations": {
// "PACK": {
// "products": [
// "sunglasses"
// ],
// "groups": []
// }
// }
// },
// {
// "_links": {
// "self": {
// "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
// }
// },
// "identifier": "cap",
// "family": "caps",
// "groups": [],
// "parent": null,
// "categories": [
// "summer_collection"
// ],
// "enabled": true,
// "values": {
// "name": [
// {
// "data": "Cap",
// "locale": "en_US",
// "scope": null
// },
// {
// "data": "Casquette",
// "locale": "fr_FR",
// "scope": null
// }
// ],
// "description": [
// {
// "data": "Cap unisex",
// "locale": "en_US",
// "scope": "ecommerce"
// },
// {
// "data": "Cap unisex",
// "locale": "en_US",
// "scope": "tablet"
// },
// {
// "data": "Casquette unisexe",
// "locale": "fr_FR",
// "scope": "ecommerce"
// },
// {
// "data": "Casquette unisexe",
// "locale": "fr_FR",
// "scope": "tablet"
// }
// ],
// "price": [
// {
// "locale": null,
// "scope": null,
// "data": [
// {
// "amount": "20",
// "currency": "EUR"
// },
// {
// "amount": "20",
// "currency": "USD"
// }
// ]
// }
// ],
// "color": [
// {
// "locale": null,
// "scope": null,
// "data": "black"
// }
// ]
// },
// "created": "2016-06-23T18:24:44+02:00",
// "updated": "2016-06-25T17:56:12+02:00",
// "associations": {
// "PACK": {
// "products": [
// "sunglasses"
// ],
// "groups": []
// }
// }
// },
// {
// "_links": {
// "self": {
// "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
// }
// },
// "identifier": "sweat",
// "family": null,
// "groups": [],
// "parent": null,
// "categories": [
// "winter_collection"
// ],
// "enabled": true,
// "values": {},
// "created": "2016-06-23T11:24:44+02:00",
// "updated": "2016-06-23T11:24:44+02:00",
// "associations": {}
// }
// ]
// }
// }
//
json := TChilkatJsonObject.Create(Self);
json.Load(jsonResponse);
v_linksSelfHref := json.StringOf('_links.self.href');
v_linksFirstHref := json.StringOf('_links.first.href');
current_page := json.IntOf('current_page');
i := 0;
count_i := json.SizeOfArray('_embedded.items');
while i < count_i do
begin
json.I := i;
v_linksSelfHref := json.StringOf('_embedded.items[i]._links.self.href');
identifier := json.StringOf('_embedded.items[i].identifier');
family := json.StringOf('_embedded.items[i].family');
parent := json.StringOf('_embedded.items[i].parent');
enabled := json.BoolOf('_embedded.items[i].enabled');
created := json.StringOf('_embedded.items[i].created');
updated := json.StringOf('_embedded.items[i].updated');
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].groups');
while j < count_j do
begin
json.J := j;
strVal := json.StringOf('_embedded.items[i].groups[j]');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].categories');
while j < count_j do
begin
json.J := j;
strVal := json.StringOf('_embedded.items[i].categories[j]');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.blocked');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.blocked[j].locale');
scope := json.StringOf('_embedded.items[i].values.blocked[j].scope');
data := json.BoolOf('_embedded.items[i].values.blocked[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.can_cut');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.can_cut[j].locale');
scope := json.StringOf('_embedded.items[i].values.can_cut[j].scope');
data := json.BoolOf('_embedded.items[i].values.can_cut[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.not_used');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.not_used[j].locale');
scope := json.StringOf('_embedded.items[i].values.not_used[j].scope');
data := json.BoolOf('_embedded.items[i].values.not_used[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.deny_delivery');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.deny_delivery[j].locale');
scope := json.StringOf('_embedded.items[i].values.deny_delivery[j].scope');
data := json.BoolOf('_embedded.items[i].values.deny_delivery[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.can_split_package');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.can_split_package[j].locale');
scope := json.StringOf('_embedded.items[i].values.can_split_package[j].scope');
data := json.BoolOf('_embedded.items[i].values.can_split_package[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.transfer_to_warehouse');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.transfer_to_warehouse[j].locale');
scope := json.StringOf('_embedded.items[i].values.transfer_to_warehouse[j].scope');
data := json.BoolOf('_embedded.items[i].values.transfer_to_warehouse[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.product_code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.product_code[j].locale');
scope := json.StringOf('_embedded.items[i].values.product_code[j].scope');
data_str := json.StringOf('_embedded.items[i].values.product_code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.nuotrauka');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.nuotrauka[j].locale');
scope := json.StringOf('_embedded.items[i].values.nuotrauka[j].scope');
data_str := json.StringOf('_embedded.items[i].values.nuotrauka[j].data');
v_linksDownloadHref := json.StringOf('_embedded.items[i].values.nuotrauka[j]._links.download.href');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.minimum_quantity');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.minimum_quantity[j].locale');
scope := json.StringOf('_embedded.items[i].values.minimum_quantity[j].scope');
data_int := json.IntOf('_embedded.items[i].values.minimum_quantity[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.code[j].locale');
scope := json.StringOf('_embedded.items[i].values.code[j].scope');
data_int := json.IntOf('_embedded.items[i].values.code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.name');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.name[j].locale');
scope := json.StringOf('_embedded.items[i].values.name[j].scope');
data_str := json.StringOf('_embedded.items[i].values.name[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.fsc_code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.fsc_code[j].locale');
scope := json.StringOf('_embedded.items[i].values.fsc_code[j].scope');
data_str := json.StringOf('_embedded.items[i].values.fsc_code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.warehouse');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.warehouse[j].locale');
scope := json.StringOf('_embedded.items[i].values.warehouse[j].scope');
data_str := json.StringOf('_embedded.items[i].values.warehouse[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.item_volume');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.item_volume[j].locale');
scope := json.StringOf('_embedded.items[i].values.item_volume[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.item_volume[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.item_volume[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.customs_code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.customs_code[j].locale');
scope := json.StringOf('_embedded.items[i].values.customs_code[j].scope');
data_str := json.StringOf('_embedded.items[i].values.customs_code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.product_type');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.product_type[j].locale');
scope := json.StringOf('_embedded.items[i].values.product_type[j].scope');
data_str := json.StringOf('_embedded.items[i].values.product_type[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.weight_netto');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.weight_netto[j].locale');
scope := json.StringOf('_embedded.items[i].values.weight_netto[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.weight_netto[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.weight_netto[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.supplier_code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.supplier_code[j].locale');
scope := json.StringOf('_embedded.items[i].values.supplier_code[j].scope');
data_str := json.StringOf('_embedded.items[i].values.supplier_code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.tariff_number');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.tariff_number[j].locale');
scope := json.StringOf('_embedded.items[i].values.tariff_number[j].scope');
data_str := json.StringOf('_embedded.items[i].values.tariff_number[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.weight_brutto');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.weight_brutto[j].locale');
scope := json.StringOf('_embedded.items[i].values.weight_brutto[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.weight_brutto[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.weight_brutto[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_code_1');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_code_1[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_code_1[j].scope');
data_str := json.StringOf('_embedded.items[i].values.package_code_1[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_code_2');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_code_2[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_code_2[j].scope');
data_str := json.StringOf('_embedded.items[i].values.package_code_2[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_code_3');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_code_3[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_code_3[j].scope');
data_str := json.StringOf('_embedded.items[i].values.package_code_3[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.supplier_number');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.supplier_number[j].locale');
scope := json.StringOf('_embedded.items[i].values.supplier_number[j].scope');
data_str := json.StringOf('_embedded.items[i].values.supplier_number[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_volume_1');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_volume_1[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_volume_1[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.package_volume_1[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.package_volume_1[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_volume_2');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_volume_2[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_volume_2[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.package_volume_2[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.package_volume_2[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_volume_3');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_volume_3[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_volume_3[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.package_volume_3[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.package_volume_3[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_weight_1');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_weight_1[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_weight_1[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.package_weight_1[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.package_weight_1[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_weight_2');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_weight_2[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_weight_2[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.package_weight_2[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.package_weight_2[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.package_weight_3');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.package_weight_3[j].locale');
scope := json.StringOf('_embedded.items[i].values.package_weight_3[j].scope');
dataAmount := json.StringOf('_embedded.items[i].values.package_weight_3[j].data.amount');
dataUnit := json.StringOf('_embedded.items[i].values.package_weight_3[j].data.unit');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.country_of_origin');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.country_of_origin[j].locale');
scope := json.StringOf('_embedded.items[i].values.country_of_origin[j].scope');
data_str := json.StringOf('_embedded.items[i].values.country_of_origin[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.product_group_code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.product_group_code[j].locale');
scope := json.StringOf('_embedded.items[i].values.product_group_code[j].scope');
data_str := json.StringOf('_embedded.items[i].values.product_group_code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.base_measurement_unit');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.base_measurement_unit[j].locale');
scope := json.StringOf('_embedded.items[i].values.base_measurement_unit[j].scope');
data_str := json.StringOf('_embedded.items[i].values.base_measurement_unit[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.measurement_unit_code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.measurement_unit_code[j].locale');
scope := json.StringOf('_embedded.items[i].values.measurement_unit_code[j].scope');
data_str := json.StringOf('_embedded.items[i].values.measurement_unit_code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.product_category_code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.product_category_code[j].locale');
scope := json.StringOf('_embedded.items[i].values.product_category_code[j].scope');
data_str := json.StringOf('_embedded.items[i].values.product_category_code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.sale_measurement_unit');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.sale_measurement_unit[j].locale');
scope := json.StringOf('_embedded.items[i].values.sale_measurement_unit[j].scope');
data_str := json.StringOf('_embedded.items[i].values.sale_measurement_unit[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.country_of_origin_code');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.country_of_origin_code[j].locale');
scope := json.StringOf('_embedded.items[i].values.country_of_origin_code[j].scope');
data_str := json.StringOf('_embedded.items[i].values.country_of_origin_code[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.vat_registration_group');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.vat_registration_group[j].locale');
scope := json.StringOf('_embedded.items[i].values.vat_registration_group[j].scope');
data_str := json.StringOf('_embedded.items[i].values.vat_registration_group[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.critical_amount_of_stock');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.critical_amount_of_stock[j].locale');
scope := json.StringOf('_embedded.items[i].values.critical_amount_of_stock[j].scope');
data_str := json.StringOf('_embedded.items[i].values.critical_amount_of_stock[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.stock_registration_group');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.stock_registration_group[j].locale');
scope := json.StringOf('_embedded.items[i].values.stock_registration_group[j].scope');
data_str := json.StringOf('_embedded.items[i].values.stock_registration_group[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.purchase_measurement_unit');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.purchase_measurement_unit[j].locale');
scope := json.StringOf('_embedded.items[i].values.purchase_measurement_unit[j].scope');
data_str := json.StringOf('_embedded.items[i].values.purchase_measurement_unit[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.product_registration_group');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.product_registration_group[j].locale');
scope := json.StringOf('_embedded.items[i].values.product_registration_group[j].scope');
data_str := json.StringOf('_embedded.items[i].values.product_registration_group[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.base_measurement_unit_quantity');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.base_measurement_unit_quantity[j].locale');
scope := json.StringOf('_embedded.items[i].values.base_measurement_unit_quantity[j].scope');
data_str := json.StringOf('_embedded.items[i].values.base_measurement_unit_quantity[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.comment');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.comment[j].locale');
scope := json.StringOf('_embedded.items[i].values.comment[j].scope');
data_str := json.StringOf('_embedded.items[i].values.comment[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.units_in_pallet');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.units_in_pallet[j].locale');
scope := json.StringOf('_embedded.items[i].values.units_in_pallet[j].scope');
data_str := json.StringOf('_embedded.items[i].values.units_in_pallet[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.first_description');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.first_description[j].locale');
scope := json.StringOf('_embedded.items[i].values.first_description[j].scope');
data_str := json.StringOf('_embedded.items[i].values.first_description[j].data');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('_embedded.items[i].values.second_description');
while j < count_j do
begin
json.J := j;
locale := json.StringOf('_embedded.items[i].values.second_description[j].locale');
scope := json.StringOf('_embedded.items[i].values.second_description[j].scope');
data_str := json.StringOf('_embedded.items[i].values.second_description[j].data');
j := j + 1;
end;
i := i + 1;
end;
end;