Sorted.
procedure MyXdataService.DoSomething;
var
json : string;
obj : TBase;
serializer: TXDataJsonClientSerializer;
begin
obj := TDerived.create;
serializer := TXDataJsonClientSerializer.Create(TXDataOperationContext.Current.Handler.XModel);
json := serializer.WriteAs(obj);
serializer.free;
// do something with the json
end;