                 "tpn" tpn
                 ;; consider...
                 ;; "tpn" (with-out-str (pp/pprint tpn))
-                "json" (with-out-str (json/pprint tpn))
-                "cytoscape" (with-out-str (json/pprint (tpn->cytoscape tpn)))
+                "json" (with-out-str (json/pprint tpn) :escape-slash false)
+                "cytoscape" (with-out-str
+                              (json/pprint (tpn->cytoscape tpn)
+                                :escape-slash false))
                 "dot" (tpn->dot tpn)
                 ;; default
                 (str "ERROR: unknown format: " out-format))]

        out-format (or out-format "tpn")
        out (case out-format
              "tpn" (with-out-str (pp/pprint tpn))
              "json" (with-out-str (json/pprint tpn))
              "cytoscape" (with-out-str (json/pprint (tpn->cytoscape tpn)))
              "dot" (tpn->dot tpn)
              ;; default
              (str "ERROR: unknown format: " out-format))]

            net-objects (build-non-primitive non-primitive)
            network-id (:network-id net-objects)
            non-primitive (or network-id false)
            positional-args (mapv #(first (vals %)) args)
            argsmap (apply merge args)
            act-details (if delay?
                          {:controllable (or controllable false)}
                          {:plant (str pclass)
                           :plantid (or id "")
                           :command method
                           :args positional-args
                           :argsmap argsmap
                           :controllable (or controllable false)
                           :non-primitive non-primitive})
            act-details (assoc-if act-details
