Entfernen Sie Anführungszeichen in JSONObject
Ich bin mit dem Netz.sf.json.JSONObject, um einige Daten, um Sie an ein front-end-Anwendung, und der code, den ich bin der Interaktion mit nicht wie der Weise seine das hinzufügen von Anführungszeichen, um jedes Feld name.
Beispiel:
myString = new JSONObject().put("JSON", "Hello, World!").toString();
erzeugt die Zeichenfolge {"JSON": "Hallo Welt"}.
Was ich will es zurück geben {JSON: "Hallo Welt"} - ohne die Anführungszeichen um "JSON". Was muss ich tun, damit das passiert?
- Warum wollen Sie das tun?(Ich bin neugierig )
- Denn ich bin der Interaktion mit bestehenden code, der mag es auf diese Weise. (nur Korrektur der ursprünglichen Frage zu stellen, dass mehr klar.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den javadoc sagt
Wenn Sie wollen, zu entsprechen, um die JSON-syntax-Regeln, die Sie shouln ' T entfernen Sie die Anführungszeichen.
Oder wenn Sie kümmern sich nicht um die Regeln, Sie konnte erstellen Sie eigene einfache Methode, um die contruct dieses strings.
Ersetzen Sie außerdem die 2 ersten vorkommen der Zitate gilt, wie @CharlesLeaf sagte.
Habe ich über ein paar web-Anwendungen/Bibliotheken wie amCharts, die JSON-Unterstützung wie JavaScipt-Eingänge, wobei das, was Ihr fordert, ist notwendig wahr ist JSON nicht unterstützt.
Was Sie tun können, ist die Schaffung einer gemeinsamen javascript-Funktion und ein wenig RegEx zum filtern der JSON.
Darf ich Fragen, warum Sie dies tun wollen? Es ist nicht zu speichern thát viel von der Gesamtsumme der bytes wird übertragen in die Anfrage.
In jedem Fall, würde ich sagen, Sie haben etwas zu schreiben, eine regexp oder etwas anderes, was ersetzt
/\"([^"]+)\"\:/
auf das erste match$1
. Ich bin nicht fließend in Java, damit kann ich nicht wirklich keiner mehr helfen.\"([^"]+)\"\:
mit$1:
in welcher Weise auch immer, dass sollte funktionieren in Java.$1
würde passen, in deinem BeispielJSON
.JSON definition beschreibt jedes paar als string : Wert, so können Sie nicht erwarten, dass die net.sf-Bibliotheken, die gegen diesen bestimmten Vertrag. Wenn Sie besorgt sind über die Möglichkeit auf die Werte zuzugreifen, wenn Sie zurückgekehrt, um einige javascript-code (wenn es das ist, was Sie tun), brauchen Sie nicht zu sein.
jQuery.parseJSON("a json string here");
Können Sie die folgende Methode verwenden, um auszuschließen, Zitate aus dem Namen der Eigenschaft in Ihrer json :
net.sf.json.util.WebUtils.toString(JSONObject);
Beziehen sich auf die java -doc :