diff --git a/src/gn/output_conversion.cc b/src/gn/output_conversion.cc
index 3bfbb10..971e740 100644
--- a/src/gn/output_conversion.cc
+++ b/src/gn/output_conversion.cc
@@ -4,7 +4,6 @@
 
 #include "gn/output_conversion.h"
 
-#include "gn/escape.h"
 #include "gn/settings.h"
 #include "gn/value.h"
 
@@ -38,10 +37,8 @@
       RenderScopeToJSON(value, out, indent + 1);
     else if (value.type() == Value::LIST)
       RenderListToJSON(value, out, indent + 1);
-    else if (value.type() == Value::STRING)
-      EscapeJSONStringToStream(out, value.ToString(false), EscapeOptions());
     else
-      out << value.ToString(false);
+      out << value.ToString(true);
     first = false;
   }
   out << "\n";
@@ -64,11 +61,8 @@
       RenderScopeToJSON(pair.second, out, indent + 1);
     else if (pair.second.type() == Value::LIST)
       RenderListToJSON(pair.second, out, indent + 1);
-    else if (pair.second.type() == Value::STRING)
-      EscapeJSONStringToStream(out, pair.second.ToString(false),
-                               EscapeOptions());
     else
-      out << pair.second.ToString(false);
+      out << pair.second.ToString(true);
     first = false;
   }
   out << "\n";
diff --git a/src/gn/output_conversion_unittest.cc b/src/gn/output_conversion_unittest.cc
index 1eaf2ab..43fdad5 100644
--- a/src/gn/output_conversion_unittest.cc
+++ b/src/gn/output_conversion_unittest.cc
@@ -186,11 +186,8 @@
   auto c_scope = std::make_unique<Scope>(settings());
   Value e_value(nullptr, Value::LIST);
   e_value.list_value().push_back(Value(nullptr, "bar"));
-  e_value.list_value().push_back(Value(nullptr, "$"));
 
   auto e_value_scope = std::make_unique<Scope>(settings());
-  Value d_value(nullptr, "$");
-  e_value_scope->SetValue("d", d_value, nullptr);
   Value f_value(nullptr, "baz");
   e_value_scope->SetValue("f", f_value, nullptr);
   e_value.list_value().push_back(Value(nullptr, std::move(e_value_scope)));
@@ -205,9 +202,7 @@
   "c": {
     "e": [
       "bar",
-      "$",
       {
-        "d": "$",
         "f": "baz"
       }
     ]
