diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index b647408982327e7c8acca2c2acfd7d11f01fc8b3..0906e3adc51406b4851d6d537d19c91429a73be4 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -1699,32 +1699,7 @@ def doit():
         for reader in readable:
             if reader == sys.stdin:
                 line = sys.stdin.readline()
-                #warn("READING LINE '%s'" % line)
-                if line.startswith("db "):
-                    line = line.replace("'", '"')[3:]
-                    db.execute(convertHash(json.loads(line)))
-
-
-def testit1():
-
-    db = Dumper()
-
-    db.setupInferior({'cmd':'setupInferior','executable':sys.argv[2],'token':1})
-    db.handleBreakpoints({'cmd':'handleBreakpoints','bkpts':[{'operation':'add',
-        'modelid':'1','type':2,'ignorecount':0,'condition':'','function':'main',
-        'oneshot':0,'enabled':1,'file':'','line':0}]})
-    db.runEngine({'cmd':'runEngine','token':4})
-
-    while True:
-        readable, _, _ = select.select([sys.stdin], [], [])
-        for reader in readable:
-            if reader == sys.stdin:
-                line = sys.stdin.readline().strip()
-                #warn("READING LINE '%s'" % line)
-                if line.startswith("db "):
-                    db.execute(eval(line[3:]))
-                else:
-                    db.executeDebuggerCommand({'command':line})
+                db.execute(convertHash(json.loads(line)))
 
 
 # Used in dumper auto test.
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index f6316631232bf67b1722ce85d7fb0da1e85e0203..551d660a539f790c33ffda1ad9608f25c6d49b50 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -110,8 +110,8 @@ void LldbEngine::runCommand(const Command &command)
     QTC_ASSERT(m_lldbProc.state() == QProcess::Running, notifyEngineIll());
     ++m_lastToken;
     QByteArray token = QByteArray::number(m_lastToken);
-    QByteArray cmd = "db {'cmd':'" + command.function + "',"
-        + command.args + "'token':" + token + "}\n";
+    QByteArray cmd = "{\"cmd\":\"" + command.function + "\","
+        + command.args + "\"token\":" + token + "}\n";
     showMessage(_(token + cmd), LogInput);
     m_lldbProc.write(cmd);
 }
@@ -156,7 +156,7 @@ void LldbEngine::setupEngine()
     m_lldbProc.start(_("python"), args);
 
     if (!m_lldbProc.waitForStarted()) {
-        const QString msg = tr("Unable to start LLDB '%1': %2")
+        const QString msg = tr("Unable to start LLDB \"%1\": %2")
             .arg(m_lldbCmd, m_lldbProc.errorString());
         notifyEngineSetupFailed();
         showMessage(_("ADAPTER START FAILED"));
@@ -645,7 +645,7 @@ bool LldbEngine::setToolTipExpression(const QPoint &mousePos,
     }
 
     if (!hasLetterOrNumber(exp)) {
-        QToolTip::showText(m_toolTipPos, tr("'%1' contains no identifier.").arg(exp));
+        QToolTip::showText(m_toolTipPos, tr("\"%1\" contains no identifier.").arg(exp));
         return true;
     }
 
@@ -665,7 +665,7 @@ bool LldbEngine::setToolTipExpression(const QPoint &mousePos,
 
     if (hasSideEffects(exp)) {
         QToolTip::showText(m_toolTipPos,
-            tr("Cowardly refusing to evaluate expression '%1' "
+            tr("Cowardly refusing to evaluate expression \"%1\" "
                "with potential side effects.").arg(exp));
         return true;
     }
@@ -794,7 +794,7 @@ QString LldbEngine::errorMessage(QProcess::ProcessError error) const
     switch (error) {
         case QProcess::FailedToStart:
             return tr("The LLDB process failed to start. Either the "
-                "invoked program '%1' is missing, or you may have insufficient "
+                "invoked program \"%1\" is missing, or you may have insufficient "
                 "permissions to invoke the program.")
                 .arg(m_lldbCmd);
         case QProcess::Crashed:
@@ -856,12 +856,12 @@ void LldbEngine::requestUpdateWatchers()
     while (it.hasNext()) {
         it.next();
         QHash<QByteArray, QByteArray> hash;
-        hash["iname"] = "'watch." + QByteArray::number(it.value()) + '\'';
-        hash["exp"] = '\'' + it.key().toHex() + '\'';
+        hash["iname"] = "\"watch." + QByteArray::number(it.value()) + '"';
+        hash["exp"] = '"' + it.key().toHex() + '"';
         watcherData.append(Command::toData(hash));
     }
     Command cmd("setWatchers");
-    cmd.args.append("'watchers':" + Command::toData(watcherData) + ',');
+    cmd.args.append("\"watchers\":" + Command::toData(watcherData) + ',');
     runCommand(cmd);
 }
 
@@ -1117,9 +1117,9 @@ DebuggerEngine *createLldbEngine(const DebuggerStartParameters &startParameters)
 
 const LldbEngine::Command &LldbEngine::Command::argHelper(const char *name, const QByteArray &data) const
 {
-    args.append('\'');
+    args.append('"');
     args.append(name);
-    args.append("':");
+    args.append("\":");
     args.append(data);
     args.append(",");
     return *this;
@@ -1144,7 +1144,7 @@ QByteArray LldbEngine::Command::toData(const QHash<QByteArray, QByteArray> &valu
         it.next();
         if (!res.isEmpty())
             res.append(',');
-        res += '\'' + it.key() + "':" + it.value();
+        res += '"' + it.key() + "\":" + it.value();
     }
     return '{' + res + '}';
 }
@@ -1176,20 +1176,20 @@ const LldbEngine::Command &LldbEngine::Command::arg(const char *name, const QByt
 
 const LldbEngine::Command &LldbEngine::Command::arg(const char *name, const char *value) const
 {
-    args.append('\'');
+    args.append('"');
     args.append(name);
-    args.append("':'");
+    args.append("\":\"");
     args.append(value);
-    args.append("',");
+    args.append("\",");
     return *this;
 }
 
 const LldbEngine::Command &LldbEngine::Command::beginList(const char *name) const
 {
     if (name) {
-        args += '\'';
+        args += '"';
         args += name;
-        args += "':";
+        args += "\":";
     }
     args += '[';
     return *this;
@@ -1205,9 +1205,9 @@ void LldbEngine::Command::endList() const
 const LldbEngine::Command &LldbEngine::Command::beginGroup(const char *name) const
 {
     if (name) {
-        args += '\'';
+        args += '"';
         args += name;
-        args += "':";
+        args += "\":";
     }
     args += '{';
     return *this;