diff --git a/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.html b/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.html
index 6c2a8cfc7cda339d78bac1f2f236f0dfb7f57d1f..7434b275297a35355f1d3af2a2601eb055e2a7fb 100644
--- a/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.html
+++ b/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.html
@@ -109,6 +109,10 @@
                 <input class="custom-control-input" type="checkbox" id="download_opened" name="download_opened" formControlName="download_opened">
                 <label class="custom-control-label" for="download_opened">Opened</label>
             </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="download_json" name="download_json" formControlName="download_json">
+                <label class="custom-control-label" for="download_json">Display download results button in JSON format</label>
+            </div>
             <div class="custom-control custom-switch">
                 <input class="custom-control-input" type="checkbox" id="download_csv" name="download_csv" formControlName="download_csv">
                 <label class="custom-control-label" for="download_csv">Display download results button in CSV format</label>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.ts b/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.ts
index 3e7080a1e198fcf53bbc01d0091f736d2f2ca6a1..fa37612c0b9cc3253b51b96592d89c09907400bf 100644
--- a/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.ts
+++ b/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.ts
@@ -53,6 +53,7 @@ export class DatasetFormComponent implements OnInit, OnChanges {
         cone_search_plot_enabled: new FormControl(false),
         download_enabled: new FormControl(true),
         download_opened: new FormControl(false),
+        download_json: new FormControl(true),
         download_csv: new FormControl(true),
         download_ascii: new FormControl(true),
         download_vo: new FormControl(false),
@@ -155,6 +156,7 @@ export class DatasetFormComponent implements OnInit, OnChanges {
     checkDownloadDisableOpened() {
         if (this.form.controls.download_enabled.value) {
             this.form.controls.download_opened.enable();
+            this.form.controls.download_json.enable();
             this.form.controls.download_csv.enable();
             this.form.controls.download_ascii.enable();
             this.form.controls.download_vo.enable();
@@ -162,6 +164,8 @@ export class DatasetFormComponent implements OnInit, OnChanges {
         } else {
             this.form.controls.download_opened.setValue(false);
             this.form.controls.download_opened.disable();
+            this.form.controls.download_json.setValue(false);
+            this.form.controls.download_json.disable();
             this.form.controls.download_csv.setValue(false);
             this.form.controls.download_csv.disable();
             this.form.controls.download_ascii.setValue(false);
diff --git a/client/src/app/instance/documentation/components/dataset-by-family.component.spec.ts b/client/src/app/instance/documentation/components/dataset-by-family.component.spec.ts
index 3878a0cd4b70b8597a442c5658a383b1fab3610a..7479e1dfb0490beeeaea08ddc671f49626e88035 100644
--- a/client/src/app/instance/documentation/components/dataset-by-family.component.spec.ts
+++ b/client/src/app/instance/documentation/components/dataset-by-family.component.spec.ts
@@ -28,6 +28,7 @@ const DATASET_LIST: Dataset[] = [
         cone_search_plot_enabled: false,
         download_enabled: true,
         download_opened: true,
+        download_json: true,
         download_csv: true,
         download_ascii: true,
         download_vo: true,
@@ -60,6 +61,7 @@ const DATASET_LIST: Dataset[] = [
         cone_search_plot_enabled: false,
         download_enabled: true,
         download_opened: true,
+        download_json: true,
         download_csv: true,
         download_ascii: true,
         download_vo: true,
diff --git a/client/src/app/instance/documentation/components/dataset-card-doc.component.spec.ts b/client/src/app/instance/documentation/components/dataset-card-doc.component.spec.ts
index 43226caf5679690abe1a52241b0f5d8684adc510..2f4958f7c4c8044fad4e7a9faba729fb3f78978a 100644
--- a/client/src/app/instance/documentation/components/dataset-card-doc.component.spec.ts
+++ b/client/src/app/instance/documentation/components/dataset-card-doc.component.spec.ts
@@ -35,6 +35,7 @@ const DATASET: Dataset = {
     cone_search_plot_enabled: false,
     download_enabled: true,
     download_opened: true,
+    download_json: true,
     download_csv: true,
     download_ascii: true,
     download_vo: true,
diff --git a/client/src/app/instance/search/components/result/download.component.html b/client/src/app/instance/search/components/result/download.component.html
index cf29bc5791b3e7269884b54e8d9abafbe68ca7a2..b4b0570baa1b73b1c557d8913c3c2fae5e9cfa66 100644
--- a/client/src/app/instance/search/components/result/download.component.html
+++ b/client/src/app/instance/search/components/result/download.component.html
@@ -18,6 +18,10 @@
                     <p>Download results just here:</p>
                 </div>
                 <div class="col">
+                    <a *ngIf="getConfigDownloadResultFormat('download_json')" (click)="downloadResult('json')" class="btn btn-outline-primary" title="Download results in JSON format">
+                        <span class="fas fa-file"></span> JSON
+                    </a>
+                    &nbsp;
                     <a *ngIf="getConfigDownloadResultFormat('download_csv')" (click)="downloadResult('csv')" class="btn btn-outline-primary" title="Download results in CSV format">
                         <span class="fas fa-file-csv"></span> CSV
                     </a>
diff --git a/client/src/app/instance/search/components/result/download.component.spec.ts b/client/src/app/instance/search/components/result/download.component.spec.ts
index a98834b76cd5bfd2d9b0d363dffd6b427e0e9792..c6a1b42dca00844985d60e2c5e0613795c80d4e5 100644
--- a/client/src/app/instance/search/components/result/download.component.spec.ts
+++ b/client/src/app/instance/search/components/result/download.component.spec.ts
@@ -52,6 +52,7 @@ describe('[Instance][Search][Component][Result] DownloadComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -84,6 +85,7 @@ describe('[Instance][Search][Component][Result] DownloadComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: false,
                 download_opened: false,
+                download_json: true,
                 download_csv: false,
                 download_ascii: false,
                 download_vo: false,
@@ -125,6 +127,7 @@ describe('[Instance][Search][Component][Result] DownloadComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -157,6 +160,7 @@ describe('[Instance][Search][Component][Result] DownloadComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: false,
                 download_opened: false,
+                download_json: true,
                 download_csv: false,
                 download_ascii: false,
                 download_vo: false,
@@ -198,6 +202,7 @@ describe('[Instance][Search][Component][Result] DownloadComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: false,
                 download_vo: true,
@@ -230,6 +235,7 @@ describe('[Instance][Search][Component][Result] DownloadComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: false,
                 download_opened: false,
+                download_json: true,
                 download_csv: false,
                 download_ascii: false,
                 download_vo: false,
diff --git a/client/src/app/instance/search/components/result/reminder.component.spec.ts b/client/src/app/instance/search/components/result/reminder.component.spec.ts
index 6e648e0a7dafd13959b5d6a9d51e89f846c142ee..6f373fcf051f75ad1fdd62c33867b4763bf7c397 100644
--- a/client/src/app/instance/search/components/result/reminder.component.spec.ts
+++ b/client/src/app/instance/search/components/result/reminder.component.spec.ts
@@ -51,6 +51,7 @@ describe('[Instance][Search][Component][Result] ReminderComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -83,6 +84,7 @@ describe('[Instance][Search][Component][Result] ReminderComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -124,6 +126,7 @@ describe('[Instance][Search][Component][Result] ReminderComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -156,6 +159,7 @@ describe('[Instance][Search][Component][Result] ReminderComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
diff --git a/client/src/app/instance/search/components/result/url-display.component.spec.ts b/client/src/app/instance/search/components/result/url-display.component.spec.ts
index e09ba2f9613ddb36abbcc5a2e828c2f18915fba8..eb4df7de30b3cd39bf580a8177f700d9dc76d298 100644
--- a/client/src/app/instance/search/components/result/url-display.component.spec.ts
+++ b/client/src/app/instance/search/components/result/url-display.component.spec.ts
@@ -55,6 +55,7 @@ describe('[Instance][Search][Component][Result] UrlDisplayComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -87,6 +88,7 @@ describe('[Instance][Search][Component][Result] UrlDisplayComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -128,6 +130,7 @@ describe('[Instance][Search][Component][Result] UrlDisplayComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -160,6 +163,7 @@ describe('[Instance][Search][Component][Result] UrlDisplayComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
diff --git a/client/src/app/instance/search/components/summary.component.spec.ts b/client/src/app/instance/search/components/summary.component.spec.ts
index 1a49dfa756d539a2700765b817e9acfd7c522b64..f01e4aaf7a322949c1d155d1cf1597501c36e905 100644
--- a/client/src/app/instance/search/components/summary.component.spec.ts
+++ b/client/src/app/instance/search/components/summary.component.spec.ts
@@ -51,6 +51,7 @@ describe('[Instance][Search][Component] SummaryComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
@@ -83,6 +84,7 @@ describe('[Instance][Search][Component] SummaryComponent', () => {
                 cone_search_plot_enabled: false,
                 download_enabled: true,
                 download_opened: true,
+                download_json: true,
                 download_csv: true,
                 download_ascii: true,
                 download_vo: true,
diff --git a/client/src/app/instance/store/effects/search-multiple.effects.spec.ts b/client/src/app/instance/store/effects/search-multiple.effects.spec.ts
index 88b5adb0045d398714a11955d8bc6d0245975293..f593f2679ddd78c23fcd6354ddb09aa4946b4039 100644
--- a/client/src/app/instance/store/effects/search-multiple.effects.spec.ts
+++ b/client/src/app/instance/store/effects/search-multiple.effects.spec.ts
@@ -256,6 +256,7 @@ describe('[Instance][Store] SearchMultipleEffects', () => {
                         cone_search_plot_opened: false,
                         download_enabled: true,
                         download_opened: true,
+                        download_json: true,
                         download_csv: true,
                         download_ascii: true,
                         download_vo: true,
diff --git a/client/src/app/metamodel/models/dataset.model.ts b/client/src/app/metamodel/models/dataset.model.ts
index eb041a85bdef74d59f552a6acb687f29a2e75821..fe4804db5828fed33adab0ddd0651056c79be128 100644
--- a/client/src/app/metamodel/models/dataset.model.ts
+++ b/client/src/app/metamodel/models/dataset.model.ts
@@ -29,6 +29,7 @@ export interface Dataset {
     cone_search_plot_enabled: boolean;
     download_enabled: boolean;
     download_opened: boolean;
+    download_json: boolean;
     download_csv: boolean;
     download_ascii: boolean;
     download_vo: boolean;
diff --git a/client/src/test-data.ts b/client/src/test-data.ts
index 1f984854f536673ac1224c04151e0220c359f70d..bd9375ffacf8cae1f63a906841b5691e0af6a474 100644
--- a/client/src/test-data.ts
+++ b/client/src/test-data.ts
@@ -208,6 +208,7 @@ export const DATASET_LIST: Dataset[] = [
         cone_search_plot_enabled: false,
         download_enabled: true,
         download_opened: true,
+        download_json: true,
         download_csv: true,
         download_ascii: true,
         download_vo: true,
@@ -240,6 +241,7 @@ export const DATASET_LIST: Dataset[] = [
         cone_search_plot_enabled: false,
         download_enabled: true,
         download_opened: true,
+        download_json: true,
         download_csv: true,
         download_ascii: true,
         download_vo: true,
@@ -274,6 +276,7 @@ export const DATASET: Dataset = {
     cone_search_plot_enabled: false,
     download_enabled: true,
     download_opened: true,
+    download_json: true,
     download_csv: true,
     download_ascii: true,
     download_vo: true,
diff --git a/conf-dev/create-db.sh b/conf-dev/create-db.sh
index 8fb223cc9562547380cddd7b75efcc40841cd3a2..fed4add657fa3065669d03cd2f97d5006a09464c 100644
--- a/conf-dev/create-db.sh
+++ b/conf-dev/create-db.sh
@@ -73,11 +73,11 @@ curl -d '{"label":"SVOM dataset family","display":20,"opened":true}' --header 'C
 curl -d '{"label":"IRiS dataset family","display":30,"opened":true}' --header 'Content-Type: application/json' -X POST http://localhost/instance/default/dataset-family
 
 # Add datasets
-curl -d '{"name":"vipers_dr2_w1","table_ref":"aspic_vipers_dr2_w1","label":"VIPERS-W1 (DR2)","description":"VIPERS W1 dataset","display":10,"data_path":"\/ASPIC\/VIPERS_DR2","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"anis_survey"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/1/dataset
-curl -d '{"name":"sp_cards","table_ref":"sp_cards","label":"SP Metadata","description":"Contains metadata of scientific products (Core Program & General Program)","display":30,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"svom"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/2/dataset
-curl -d '{"name":"observations","table_ref":"v_observation","label":"IRiS obs","description":"IRiS observations","display":10,"data_path":"\/IRIS\/observations","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"iris"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/3/dataset
-curl -d '{"name":"vvds_f02_udeep","table_ref":"aspic_vvds_f02_udeep","label":"VVDS2h Ultra Deep","description":"VVDS2h Ultra Deep","display":20,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"anis_survey"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/1/dataset
-curl -d '{"name":"products","table_ref":"products","label":"Scientific Products","description":"SR3 & SR4 products list","display":20,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"svom"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/2/dataset
+curl -d '{"name":"vipers_dr2_w1","table_ref":"aspic_vipers_dr2_w1","label":"VIPERS-W1 (DR2)","description":"VIPERS W1 dataset","display":10,"data_path":"\/ASPIC\/VIPERS_DR2","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_json":true,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"anis_survey"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/1/dataset
+curl -d '{"name":"sp_cards","table_ref":"sp_cards","label":"SP Metadata","description":"Contains metadata of scientific products (Core Program & General Program)","display":30,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_json":true,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"svom"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/2/dataset
+curl -d '{"name":"observations","table_ref":"v_observation","label":"IRiS obs","description":"IRiS observations","display":10,"data_path":"\/IRIS\/observations","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_json":true,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"iris"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/3/dataset
+curl -d '{"name":"vvds_f02_udeep","table_ref":"aspic_vvds_f02_udeep","label":"VVDS2h Ultra Deep","description":"VVDS2h Ultra Deep","display":20,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_json":true,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"anis_survey"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/1/dataset
+curl -d '{"name":"products","table_ref":"products","label":"Scientific Products","description":"SR3 & SR4 products list","display":20,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"download_enabled":true,"download_opened":false,"download_json":true,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"svom"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/2/dataset
 
 # Add vipers_dr2_w1 attributes
 curl -d '{"label":"Default","display":10,"opened":true}' --header 'Content-Type: application/json' -X POST http://localhost/dataset/vipers_dr2_w1/criteria-family
diff --git a/server/src/Action/DatasetAction.php b/server/src/Action/DatasetAction.php
index e4cb81c4cdb339866884143c6a3b6096cebd3979..54ad9509206978a6611fa1ff22957c0f8c4441f6 100644
--- a/server/src/Action/DatasetAction.php
+++ b/server/src/Action/DatasetAction.php
@@ -130,6 +130,7 @@ final class DatasetAction extends AbstractAction
         $dataset->setConeSearchPlotEnabled($parsedBody['cone_search_plot_enabled']);
         $dataset->setDownloadEnabled($parsedBody['download_enabled']);
         $dataset->setDownloadOpened($parsedBody['download_opened']);
+        $dataset->setDownloadJson($parsedBody['download_json']);
         $dataset->setDownloadCsv($parsedBody['download_csv']);
         $dataset->setDownloadAscii($parsedBody['download_ascii']);
         $dataset->setDownloadVo($parsedBody['download_vo']);
diff --git a/server/src/Action/DatasetListAction.php b/server/src/Action/DatasetListAction.php
index 9f73779d3e08aebb64cad5a4c74f31cd05d65776..1d84aad10ddd0b270314fd9f05f648146cd3ca49 100644
--- a/server/src/Action/DatasetListAction.php
+++ b/server/src/Action/DatasetListAction.php
@@ -134,6 +134,7 @@ final class DatasetListAction extends AbstractAction
         $dataset->setConeSearchPlotEnabled($parsedBody['cone_search_plot_enabled']);
         $dataset->setDownloadEnabled($parsedBody['download_enabled']);
         $dataset->setDownloadOpened($parsedBody['download_opened']);
+        $dataset->setDownloadJson($parsedBody['download_json']);
         $dataset->setDownloadCsv($parsedBody['download_csv']);
         $dataset->setDownloadAscii($parsedBody['download_ascii']);
         $dataset->setDownloadVo($parsedBody['download_vo']);
diff --git a/server/src/Action/StartTaskCreateResultAction.php b/server/src/Action/StartTaskCreateResultAction.php
index fc1e34e044b412c3b9181e913a364a4d30fa42c5..ebe428496b3ed464bdf0d88bcfc4935ef7b07062 100644
--- a/server/src/Action/StartTaskCreateResultAction.php
+++ b/server/src/Action/StartTaskCreateResultAction.php
@@ -109,7 +109,7 @@ final class StartTaskCreateResultAction extends AbstractAction
             );
             $token = $request->getHeader('Authorization')[0];
         }
-        
+
         $queryParams = $request->getQueryParams();
 
         // The parameter "a" is mandatory
@@ -121,7 +121,9 @@ final class StartTaskCreateResultAction extends AbstractAction
         }
 
         // Search extension
-        if ($queryParams['f'] === 'csv') {
+        if ($queryParams['f'] === 'json') {
+            $extension = '.json';
+        } elseif ($queryParams['f'] === 'csv') {
             $extension = '.csv';
         } elseif ($queryParams['f'] === 'ascii') {
             $extension = '.txt';
diff --git a/server/src/Entity/Dataset.php b/server/src/Entity/Dataset.php
index 3c78fddff2deacbf5d63d1d04a5a51c5a8d01278..d425e5bbea489727cc6f292895ad4f2f26ff1c54 100644
--- a/server/src/Entity/Dataset.php
+++ b/server/src/Entity/Dataset.php
@@ -136,6 +136,13 @@ class Dataset implements \JsonSerializable
      */
     protected $downloadOpened;
 
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="download_json", nullable=false)
+     */
+    protected $downloadJson;
+
     /**
      * @var bool
      *
@@ -402,6 +409,16 @@ class Dataset implements \JsonSerializable
         $this->downloadOpened = $downloadOpened;
     }
 
+    public function getDownloadJson()
+    {
+        return $this->downloadJson;
+    }
+
+    public function setDownloadJson($downloadJson)
+    {
+        $this->downloadJson = $downloadJson;
+    }
+
     public function getDownloadCsv()
     {
         return $this->downloadCsv;
@@ -556,6 +573,7 @@ class Dataset implements \JsonSerializable
             'cone_search_plot_enabled' => $this->getConeSearchPlotEnabled(),
             'download_enabled' => $this->getDownloadEnabled(),
             'download_opened' => $this->getDownloadOpened(),
+            'download_json' => $this->getDownloadJson(),
             'download_csv' => $this->getDownloadCsv(),
             'download_ascii' => $this->getDownloadAscii(),
             'download_vo' => $this->getDownloadVo(),
diff --git a/server/tests/Action/DatasetActionTest.php b/server/tests/Action/DatasetActionTest.php
index b33db343393fdde428c6890aa2a6e4b590487e33..be0328d6927810201abab2f3b8d432e2fb3b0e9a 100644
--- a/server/tests/Action/DatasetActionTest.php
+++ b/server/tests/Action/DatasetActionTest.php
@@ -136,6 +136,7 @@ final class DatasetActionTest extends TestCase
             'cone_search_plot_enabled' => false,
             'download_enabled' => true,
             'download_opened' => false,
+            'download_json' => true,
             'download_csv' => true,
             'download_ascii' => true,
             'download_vo' => false,
diff --git a/server/tests/Action/DatasetListActionTest.php b/server/tests/Action/DatasetListActionTest.php
index d6e843b6fdcee750f68aec1e8faa37846fb7266a..c37563b18ca3ec4ec2864ec46b6fa4ec4f0db354 100644
--- a/server/tests/Action/DatasetListActionTest.php
+++ b/server/tests/Action/DatasetListActionTest.php
@@ -132,6 +132,7 @@ final class DatasetListActionTest extends TestCase
             'cone_search_plot_enabled' => false,
             'download_enabled' => true,
             'download_opened' => false,
+            'download_json' => true,
             'download_csv' => true,
             'download_ascii' => true,
             'download_vo' => false,