diff --git a/src/gn/json_project_writer.cc b/src/gn/json_project_writer.cc
index a8f9ac4..a8aad90 100644
--- a/src/gn/json_project_writer.cc
+++ b/src/gn/json_project_writer.cc
@@ -426,6 +426,7 @@
   }
   json_writer.EndDict();  // build_settings
 
+  std::map<Label, const Toolchain*> toolchains;
   json_writer.BeginDict("targets");
   {
     for (const auto* target : sorted_targets) {
@@ -445,10 +446,61 @@
                                          base::JSONWriter::OPTIONS_PRETTY_PRINT,
                                          &json_dict);
       json_writer.AddJSONDict(target_labels[target], json_dict);
+      toolchains[target->toolchain()->label()] = target->toolchain();
     }
   }
   json_writer.EndDict();  // targets
 
+  json_writer.BeginDict("toolchains");
+  {
+    for (const auto& tool_chain_kv : toolchains) {
+      base::Value toolchain{base::Value::Type::DICTIONARY};
+      const auto& tools = tool_chain_kv.second->tools();
+      for (const auto& tool_kv : tools) {
+        base::Value tool_info{base::Value::Type::DICTIONARY};
+        auto setIfNotEmptry = [&](const auto& key, const auto& value) {
+          if (value.size())
+            tool_info.SetKey(key, base::Value{value});
+        };
+        auto setSubstitutionList = [&](const auto& key,
+                                       const SubstitutionList& list) {
+          if (list.list().empty())
+            return;
+          base::Value values{base::Value::Type::LIST};
+          for (const auto& v : list.list())
+            values.GetList().emplace_back(base::Value{v.AsString()});
+          tool_info.SetKey(key, std::move(values));
+        };
+        const auto& tool = tool_kv.second;
+        setIfNotEmptry("command", tool->command().AsString());
+        setIfNotEmptry("command_launcher", tool->command_launcher());
+        setIfNotEmptry("default_output_extension",
+                       tool->default_output_extension());
+        setIfNotEmptry("default_output_dir",
+                       tool->default_output_dir().AsString());
+        setIfNotEmptry("depfile", tool->depfile().AsString());
+        setIfNotEmptry("description", tool->description().AsString());
+        setIfNotEmptry("framework_switch", tool->framework_switch());
+        setIfNotEmptry("weak_framework_switch", tool->weak_framework_switch());
+        setIfNotEmptry("framework_dir_switch", tool->framework_dir_switch());
+        setIfNotEmptry("lib_switch", tool->lib_switch());
+        setIfNotEmptry("lib_dir_switch", tool->lib_dir_switch());
+        setIfNotEmptry("linker_arg", tool->linker_arg());
+        setSubstitutionList("outputs", tool->outputs());
+        setSubstitutionList("partial_outputs", tool->partial_outputs());
+        setSubstitutionList("runtime_outputs", tool->runtime_outputs());
+        setIfNotEmptry("output_prefix", tool->output_prefix());
+
+        toolchain.SetKey(tool_kv.first, std::move(tool_info));
+      }
+      std::string json_dict;
+      base::JSONWriter::WriteWithOptions(
+          toolchain, base::JSONWriter::OPTIONS_PRETTY_PRINT, &json_dict);
+      json_writer.AddJSONDict(tool_chain_kv.first.GetUserVisibleName(false), json_dict);
+    }
+  }
+  json_writer.EndDict();  // toolchains
+
   json_writer.Close();
 
   return out;
diff --git a/src/gn/json_project_writer_unittest.cc b/src/gn/json_project_writer_unittest.cc
index f642ea6..a22511b 100644
--- a/src/gn/json_project_writer_unittest.cc
+++ b/src/gn/json_project_writer_unittest.cc
@@ -58,38 +58,201 @@
   base::ReplaceSubstringsAfterOffset(&out, 0, "\r\n", "\n");
 #endif
   const char expected_json[] =
-      "{\n"
-      "   \"build_settings\": {\n"
-      "      \"build_dir\": \"//out/Debug/\",\n"
-      "      \"default_toolchain\": \"//toolchain:default\",\n"
-      "      \"gen_input_files\": [ \"//.gn\", \"//BUILD.gn\", "
-      "\"//build/BUILD.gn\" ],\n"
+      R"_({
+   "build_settings": {
+      "build_dir": "//out/Debug/",
+      "default_toolchain": "//toolchain:default",
+      "gen_input_files": [ "//.gn", "//BUILD.gn", "//build/BUILD.gn" ],
+)_"
 #if defined(OS_WIN)
       "      \"root_path\": \"c:/path/to/src\"\n"
 #else
       "      \"root_path\": \"/path/to/src\"\n"
 #endif
-      "   },\n"
-      "   \"targets\": {\n"
-      "      \"//foo:bar()\": {\n"
-      "         \"args\": [ \"{{response_file_name}}\" ],\n"
-      "         \"deps\": [  ],\n"
-      "         \"inputs\": [ \"//foo/input1.txt\" ],\n"
-      "         \"metadata\": {\n"
-      "\n"
-      "         },\n"
-      "         \"outputs\": [ \"//out/Debug/output1.out\" ],\n"
-      "         \"public\": \"*\",\n"
-      "         \"response_file_contents\": [ \"-j\", \"3\" ],\n"
-      "         \"script\": \"//foo/script.py\",\n"
-      "         \"sources\": [ \"//foo/source1.txt\" ],\n"
-      "         \"testonly\": false,\n"
-      "         \"toolchain\": \"\",\n"
-      "         \"type\": \"action\",\n"
-      "         \"visibility\": [  ]\n"
-      "      }\n"
-      "   }\n"
-      "}\n";
+      R"_(   },
+   "targets": {
+      "//foo:bar()": {
+         "args": [ "{{response_file_name}}" ],
+         "deps": [  ],
+         "inputs": [ "//foo/input1.txt" ],
+         "metadata": {
+
+         },
+         "outputs": [ "//out/Debug/output1.out" ],
+         "public": "*",
+         "response_file_contents": [ "-j", "3" ],
+         "script": "//foo/script.py",
+         "sources": [ "//foo/source1.txt" ],
+         "testonly": false,
+         "toolchain": "",
+         "type": "action",
+         "visibility": [  ]
+      }
+   },
+   "toolchains": {
+      "//toolchain:default": {
+         "alink": {
+            "command": "ar {{output}} {{source}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}.a" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "cc": {
+            "command": "cc {{source}} {{cflags}} {{cflags_c}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "compile_xcassets": {
+            "command": "touch {{output}}"
+         },
+         "copy": {
+            "command": "cp {{source}} {{output}}"
+         },
+         "copy_bundle_data": {
+            "command": "cp {{source}} {{output}}"
+         },
+         "cxx": {
+            "command": "c++ {{source}} {{cflags}} {{cflags_cc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "command_launcher": "launcher",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "link": {
+            "command": "ld -o {{target_output_name}} {{source}} {{ldflags}} {{libs}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "objc": {
+            "command": "objcc {{source}} {{cflags}} {{cflags_objc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "objcxx": {
+            "command": "objcxx {{source}} {{cflags}} {{cflags_objcc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "rust_bin": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "outputs": [ "{{root_out_dir}}/{{crate_name}}{{output_extension}}" ]
+         },
+         "rust_cdylib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "" ]
+         },
+         "rust_dylib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "" ]
+         },
+         "rust_macro": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "rust_rlib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".rlib",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "rust_staticlib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".a",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "solink": {
+            "command": "ld -shared -o {{target_output_name}}.so {{inputs}} {{ldflags}} {{libs}}",
+            "default_output_extension": ".so",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "solink_module": {
+            "command": "ld -bundle -o {{target_output_name}}.so {{inputs}} {{ldflags}} {{libs}}",
+            "default_output_extension": ".so",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "stamp": {
+            "command": "touch {{output}}"
+         },
+         "swift": {
+            "command": "swiftc --module-name {{module_name}} {{module_dirs}} {{inputs}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{target_out_dir}}/{{module_name}}.swiftmodule" ],
+            "partial_outputs": [ "{{target_out_dir}}/{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         }
+      }
+   }
+}
+)_";
   EXPECT_EQ(expected_json, out) << out;
 }
 
@@ -116,37 +279,200 @@
   base::ReplaceSubstringsAfterOffset(&out, 0, "\r\n", "\n");
 #endif
   const char expected_json[] =
-      "{\n"
-      "   \"build_settings\": {\n"
-      "      \"build_dir\": \"//out/Debug/\",\n"
-      "      \"default_toolchain\": \"//toolchain:default\",\n"
-      "      \"gen_input_files\": [  ],\n"
-      "      \"root_path\": \"\"\n"
-      "   },\n"
-      "   \"targets\": {\n"
-      "      \"//foo:bar()\": {\n"
-      "         \"allow_circular_includes_from\": [  ],\n"
-      "         \"check_includes\": true,\n"
-      "         \"crate_name\": \"foo\",\n"
-      "         \"crate_root\": \"//foo/lib.rs\",\n"
-      "         \"deps\": [  ],\n"
-      "         \"externs\": {\n"
-      "\n"
-      "         },\n"
-      "         \"metadata\": {\n"
-      "\n"
-      "         },\n"
-      "         \"outputs\": [ \"//out/Debug/obj/foo/libbar.rlib\" ],\n"
-      "         \"public\": \"*\",\n"
-      "         \"sources\": [ \"//foo/lib.rs\" ],\n"
-      "         \"testonly\": false,\n"
-      "         \"toolchain\": \"\",\n"
-      "         \"type\": \"rust_library\",\n"
-      "         \"visibility\": [ \"*\" ]\n"
-      "      }\n"
-      "   }\n"
-      "}\n";
-  EXPECT_EQ(expected_json, out);
+      R"_({
+   "build_settings": {
+      "build_dir": "//out/Debug/",
+      "default_toolchain": "//toolchain:default",
+      "gen_input_files": [  ],
+      "root_path": ""
+   },
+   "targets": {
+      "//foo:bar()": {
+         "allow_circular_includes_from": [  ],
+         "check_includes": true,
+         "crate_name": "foo",
+         "crate_root": "//foo/lib.rs",
+         "deps": [  ],
+         "externs": {
+
+         },
+         "metadata": {
+
+         },
+         "outputs": [ "//out/Debug/obj/foo/libbar.rlib" ],
+         "public": "*",
+         "sources": [ "//foo/lib.rs" ],
+         "testonly": false,
+         "toolchain": "",
+         "type": "rust_library",
+         "visibility": [ "*" ]
+      }
+   },
+   "toolchains": {
+      "//toolchain:default": {
+         "alink": {
+            "command": "ar {{output}} {{source}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}.a" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "cc": {
+            "command": "cc {{source}} {{cflags}} {{cflags_c}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "compile_xcassets": {
+            "command": "touch {{output}}"
+         },
+         "copy": {
+            "command": "cp {{source}} {{output}}"
+         },
+         "copy_bundle_data": {
+            "command": "cp {{source}} {{output}}"
+         },
+         "cxx": {
+            "command": "c++ {{source}} {{cflags}} {{cflags_cc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "command_launcher": "launcher",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "link": {
+            "command": "ld -o {{target_output_name}} {{source}} {{ldflags}} {{libs}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "objc": {
+            "command": "objcc {{source}} {{cflags}} {{cflags_objc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "objcxx": {
+            "command": "objcxx {{source}} {{cflags}} {{cflags_objcc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "rust_bin": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "outputs": [ "{{root_out_dir}}/{{crate_name}}{{output_extension}}" ]
+         },
+         "rust_cdylib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "" ]
+         },
+         "rust_dylib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "" ]
+         },
+         "rust_macro": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "rust_rlib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".rlib",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "rust_staticlib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".a",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "solink": {
+            "command": "ld -shared -o {{target_output_name}}.so {{inputs}} {{ldflags}} {{libs}}",
+            "default_output_extension": ".so",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "solink_module": {
+            "command": "ld -bundle -o {{target_output_name}}.so {{inputs}} {{ldflags}} {{libs}}",
+            "default_output_extension": ".so",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "stamp": {
+            "command": "touch {{output}}"
+         },
+         "swift": {
+            "command": "swiftc --module-name {{module_name}} {{module_dirs}} {{inputs}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{target_out_dir}}/{{module_name}}.swiftmodule" ],
+            "partial_outputs": [ "{{target_out_dir}}/{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         }
+      }
+   }
+}
+)_";
+  EXPECT_EQ(expected_json, out) << out;
 }
 
 TEST_F(JSONWriter, ForEachWithResponseFile) {
@@ -191,42 +517,203 @@
   base::ReplaceSubstringsAfterOffset(&out, 0, "\r\n", "\n");
 #endif
   const char expected_json[] =
-      "{\n"
-      "   \"build_settings\": {\n"
-      "      \"build_dir\": \"//out/Debug/\",\n"
-      "      \"default_toolchain\": \"//toolchain:default\",\n"
-      "      \"gen_input_files\": [ \"//.gn\", \"//BUILD.gn\" ],\n"
+      R"_({
+   "build_settings": {
+      "build_dir": "//out/Debug/",
+      "default_toolchain": "//toolchain:default",
+      "gen_input_files": [ "//.gn", "//BUILD.gn" ],
+)_"
 #if defined(OS_WIN)
       "      \"root_path\": \"c:/path/to/src\"\n"
 #else
       "      \"root_path\": \"/path/to/src\"\n"
 #endif
-      "   },\n"
-      "   \"targets\": {\n"
-      "      \"//foo:bar()\": {\n"
-      "         \"args\": [ \"{{source}}\", \"{{source_file_part}}\", "
-      "\"{{response_file_name}}\" ],\n"
-      "         \"deps\": [  ],\n"
-      "         \"metadata\": {\n"
-      "\n"
-      "         },\n"
-      "         \"output_patterns\": [ "
-      "\"//out/Debug/{{source_name_part}}.out\" ],\n"
-      "         \"outputs\": [ \"//out/Debug/input1.out\" ],\n"
-      "         \"public\": \"*\",\n"
-      "         \"response_file_contents\": [ \"-j\", \"{{source_name_part}}\" "
-      "],\n"
-      "         \"script\": \"//foo/script.py\",\n"
-      "         \"source_outputs\": {\n"
-      "            \"//foo/input1.txt\": [ \"input1.out\" ]\n"
-      "         },\n"
-      "         \"sources\": [ \"//foo/input1.txt\" ],\n"
-      "         \"testonly\": false,\n"
-      "         \"toolchain\": \"\",\n"
-      "         \"type\": \"action_foreach\",\n"
-      "         \"visibility\": [  ]\n"
-      "      }\n"
-      "   }\n"
-      "}\n";
-  EXPECT_EQ(expected_json, out);
+      R"_(   },
+   "targets": {
+      "//foo:bar()": {
+         "args": [ "{{source}}", "{{source_file_part}}", "{{response_file_name}}" ],
+         "deps": [  ],
+         "metadata": {
+
+         },
+         "output_patterns": [ "//out/Debug/{{source_name_part}}.out" ],
+         "outputs": [ "//out/Debug/input1.out" ],
+         "public": "*",
+         "response_file_contents": [ "-j", "{{source_name_part}}" ],
+         "script": "//foo/script.py",
+         "source_outputs": {
+            "//foo/input1.txt": [ "input1.out" ]
+         },
+         "sources": [ "//foo/input1.txt" ],
+         "testonly": false,
+         "toolchain": "",
+         "type": "action_foreach",
+         "visibility": [  ]
+      }
+   },
+   "toolchains": {
+      "//toolchain:default": {
+         "alink": {
+            "command": "ar {{output}} {{source}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}.a" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "cc": {
+            "command": "cc {{source}} {{cflags}} {{cflags_c}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "compile_xcassets": {
+            "command": "touch {{output}}"
+         },
+         "copy": {
+            "command": "cp {{source}} {{output}}"
+         },
+         "copy_bundle_data": {
+            "command": "cp {{source}} {{output}}"
+         },
+         "cxx": {
+            "command": "c++ {{source}} {{cflags}} {{cflags_cc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "command_launcher": "launcher",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "link": {
+            "command": "ld -o {{target_output_name}} {{source}} {{ldflags}} {{libs}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "objc": {
+            "command": "objcc {{source}} {{cflags}} {{cflags_objc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "objcxx": {
+            "command": "objcxx {{source}} {{cflags}} {{cflags_objcc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "rust_bin": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "outputs": [ "{{root_out_dir}}/{{crate_name}}{{output_extension}}" ]
+         },
+         "rust_cdylib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "" ]
+         },
+         "rust_dylib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "" ]
+         },
+         "rust_macro": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".so",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "rust_rlib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".rlib",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "rust_staticlib": {
+            "command": "{{rustenv}} rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} {{rustflags}} -o {{output}} {{rustdeps}} {{externs}}",
+            "default_output_extension": ".a",
+            "framework_switch": "-lframework=",
+            "lib_dir_switch": "-Lnative=",
+            "lib_switch": "-l",
+            "linker_arg": "-Clink-arg=",
+            "output_prefix": "lib",
+            "outputs": [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
+         },
+         "solink": {
+            "command": "ld -shared -o {{target_output_name}}.so {{inputs}} {{ldflags}} {{libs}}",
+            "default_output_extension": ".so",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "solink_module": {
+            "command": "ld -bundle -o {{target_output_name}}.so {{inputs}} {{ldflags}} {{libs}}",
+            "default_output_extension": ".so",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "output_prefix": "lib",
+            "outputs": [ "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" ],
+            "weak_framework_switch": "-weak_framework "
+         },
+         "stamp": {
+            "command": "touch {{output}}"
+         },
+         "swift": {
+            "command": "swiftc --module-name {{module_name}} {{module_dirs}} {{inputs}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{target_out_dir}}/{{module_name}}.swiftmodule" ],
+            "partial_outputs": [ "{{target_out_dir}}/{{source_name_part}}.o" ],
+            "weak_framework_switch": "-weak_framework "
+         }
+      }
+   }
+}
+)_";
+  EXPECT_EQ(expected_json, out) << out;
 }
