XData and PostgreSQL Text Field

That is the text content encoded in Base64. You should get that value and pass it through a Base64 decoder to have your final text.

If you don't want or don't need to have your json_field to be lazy-loaded, you can simply map it as a string type. Just make the size 65536 and then it will still be a blob in your database (a text blob, actually) and in XData it will appear inline as raw text:

   [Column('json_field', [], 65536)]
   FJsonField: string;