ist da sagen wir mal, ein JSON-String ich vom Server erhielt: "\" 3 \ "" (mit Anführungszeichen, dh Länge == 3 hier)Konvertieren einfacher String zu JSON und in Swift zurück
In Android -Welt, kann ich tun:
gson.fromJson(json, new TypeToken<String>() {}.getType());
- es gibt "3" (dh Länge == 1)
In C# -Welt kann NewtonSoft.Json verwenden:
JsonConvert.DeserializeObject<string>(json, settings)
- es gibt "3" (d.h. Länge == 1)
Und andersherum, ich habe Zeichenfolge, die ich als JSON serialisieren möchte. In Android würde ich gson.toJson("\"3\"")
tun und in C# - JsonConvert.SerializeObject("\"3\"")
Das Problem mit jsonSerialization ist, dass es nicht einfacher String als gültige JSON nicht behandeln: JSONSerialization.isValidJSONObject("\"3\"") == *false*
Was in Swift/Obj- entsprechen würde C Welt?
Die hässliche Abhilfe I (mit Ausnahme von nur Hinzufügen/Entfernen von Anführungszeichen) bisher gefunden habe ist Zeichenfolge in 1-Punkt-Array wickeln JSONSerialization
glücklich und dann entfernen „[“, „]“ aus zu machen resultierte JSON-String (und andersherum - fügen Sie "[", "]" vor der Deserialisierung) hinzu, aber es ist eine viel zu widerliche Art, die wirkliche Lösung für dieses Problem zu sein.