The JSON to entity activity can be used to parse a JSON string into an entity.
Activity properties
begin var TaskFromJSON: HelpAndManualScreenshots.DataSource.CodolexDatasource.ITask; TaskFromJSON := nil; var ResultCollection := TCodolexCollections.CreateList<HelpAndManualScreenshots.DataSource.CodolexDatasource.ITask>; var ParsedJson := TJsonObject.ParseJSONValue(StringWithJSON, True, True); try var Entity: HelpAndManualScreenshots.DataSource.CodolexDatasource.ITask; var Adapter: ICodolexEntityJSONAdapter<HelpAndManualScreenshots.DataSource.CodolexDatasource.ITask>; Adapter := TTaskJSONAdapter.Create;
if (ParsedJson is TJsonArray) then begin var JsonArray := ParsedJson as TJsonArray; var NbOfItems := JsonArray.Count;
if (NbOfItems = 0) then Exit;
for var ArrayElement in JsonArray do begin if not (ArrayElement is TJsonObject) then Continue;
var ElementObject := ArrayElement.GetValue<TJsonObject>();
Entity := Adapter.MapToEntity(ElementObject);
ResultCollection.Add(Entity); end; end else if ParsedJson is TJsonObject then begin Entity := Adapter.MapToEntity(ParsedJson);
ResultCollection.Add(Entity); end;
finally ParsedJson.Free; TaskFromJSON := ResultCollection.First; end; end; |
resulting code
When the option multiple for expected results is selected, the activity does return a list instead of a single entity.