diff --git a/src/gn/desc_builder.cc b/src/gn/desc_builder.cc
index 8c6d897..1823520 100644
--- a/src/gn/desc_builder.cc
+++ b/src/gn/desc_builder.cc
@@ -391,6 +391,10 @@
       }
     }
 
+    if (what(variables::kData) && !target_->data().empty())
+      res->SetWithoutPathExpansion(variables::kData,
+                                   RenderValue(target_->data()));
+
     if (what(variables::kSources) && !target_->sources().empty())
       res->SetWithoutPathExpansion(variables::kSources,
                                    RenderValue(target_->sources()));
diff --git a/src/gn/json_project_writer.h b/src/gn/json_project_writer.h
index 0557689..63549a9 100644
--- a/src/gn/json_project_writer.h
+++ b/src/gn/json_project_writer.h
@@ -29,6 +29,7 @@
   FRIEND_TEST_ALL_PREFIXES(JSONWriter, ForEachWithResponseFile);
   FRIEND_TEST_ALL_PREFIXES(JSONWriter, RustTarget);
   FRIEND_TEST_ALL_PREFIXES(JSONWriter, FilterTargetsWithDataDeps);
+  FRIEND_TEST_ALL_PREFIXES(JSONWriter, GroupWithData);
 
   static bool FilterTargets(const BuildSettings* build_settings,
                             std::vector<const Target*>& all_targets,
diff --git a/src/gn/json_project_writer_unittest.cc b/src/gn/json_project_writer_unittest.cc
index a050b09..6c43cc7 100644
--- a/src/gn/json_project_writer_unittest.cc
+++ b/src/gn/json_project_writer_unittest.cc
@@ -835,3 +835,48 @@
   EXPECT_GT(labels_all.count(Label(SourceDir("//foo/"), "b")), 0u);
   EXPECT_GT(labels_all.count(Label(SourceDir("//foo/"), "c")), 0u);
 }
+
+TEST_F(JSONWriter, GroupWithData) {
+  Err err;
+  TestWithScope setup;
+
+  Target target(setup.settings(), Label(SourceDir("//foo/"), "docs"));
+  target.set_output_type(Target::GROUP);
+  target.data().push_back("README.md");
+  target.data().push_back("docs/help.txt");
+  target.SetToolchain(setup.toolchain());
+  ASSERT_TRUE(target.OnResolved(&err));
+
+  std::vector<const Target*> targets = {&target};
+  std::string out =
+      JSONProjectWriter::RenderJSON(setup.build_settings(), targets);
+#if defined(OS_WIN)
+  base::ReplaceSubstringsAfterOffset(&out, 0, "\r\n", "\n");
+#endif
+  const char expected_json[] =
+      R"_({
+   "build_settings": {
+      "build_dir": "//out/Debug/",
+      "default_toolchain": "//toolchain:default",
+      "gen_input_files": [  ],
+      "root_path": ""
+   },
+   "targets": {
+      "//foo:docs()": {
+         "data": [ "README.md", "docs/help.txt" ],
+         "deps": [  ],
+         "metadata": {
+
+         },
+         "public": "*",
+         "testonly": false,
+         "toolchain": "",
+         "type": "group",
+         "visibility": [  ]
+      }
+   },
+   "toolchains": {
+)_";
+
+  EXPECT_TRUE(out.starts_with(expected_json)) << out;
+}
