Supprimer la citation de l'JSONArray de sortie
Sur le succès de l'appel, je reçois le JSONArray avec la touche "objets" et de nouveau le testValue avec la clé "nom". La sortie est identique:
"Abcd"
"Wxyz"
Mon code est comme suit:
public void onSuccess(JSONValue val) {
JSONObject obj = val.isObject();
JSONArray test = JSONUtil.getJSONArray(test, "objects");
for (int i = 0; i < test.size(); i++) {
JSONObject childJSONObject = (JSONObject) test.get(i);
JSONValue testValue = childJSONObject.get("name");
System.out.println(testValue);
}
}
Souhaitez imprimer le nom comme suit: (Sans les guillemets)
Abcd
Wxyz
OriginalL'auteur Ask | 2014-02-19
Vous devez vous connecter pour publier un commentaire.
1. .replaceAll()
Cette méthode remplacer tous les guillemets qui sont présents dans votre nom n'est pas le premier et le dernier.
Exemple : "Abcd" devient Abcd mais si le nom est "Ab"cd", il devrait être Ab"cd selon votre condition, mais il devient de Abcd. Dire que tous les devis double remplacé.
2. substring()
Si vous souhaitez utiliser les sous-chaîne approche de la méthode, puis utilisez la syntaxe suivante pour supprimer le premier et le dernier guillemets doubles à partir de votre chaîne:
1
- indique le premier caractère de la chaînetestValue.toString().length()-1
: indique le dernier caractère de la chaîne.Pour votre cas
.substring()
méthode est plus mieux que le.replaceAll()
, si.getString()
pas de travail.3. .ValueOf() OU .getString()
Ne sais pas, Dans votre cas, pourquoi il ne fonctionne pas ? (peut-être parce que la chaîne elle-même, contenant les guillemets) autrement, la meilleure façon est de Convertir le JSONValue à la Chaîne comme
String.ValueOf(testValue);
OU
childJSONObject.getString("name");
Sinon, de donner la préférence : 3 > 2 > 1
OriginalL'auteur Vaibhav Jain
Convertir le JSONValue retour à la Chaîne:
Ou
Après tout cela et encore jusqu'à la fin avec des citations - retombons sur les RegExp.
OriginalL'auteur Bitmap
juste
supprime tous les caractères dans votre chaîne.
ou dans votre cas
Vous ne devriez pas avoir à supprimer ces citations, vous feriez mieux d'obtenir la bonne valeur de Chaîne.
Je suis à l'aide de JSONValue testValue = childJSONObject.get("nom"); mais, au lieu de cette Chaîne testValue = childJSONObject.getString("nom"); ne fonctionne pas pour moi.en donnant quelques erreur de casting.
OriginalL'auteur Stefan Beike
Vous pouvez obtenir la valeur sous forme de Chaîne de caractères elle-même, n'avez pas besoin de jeter ou de les remplacer:
Il sera de retour une Chaîne sans guillemets.
Plus d'infos: JSONObject
Quelle erreur de casting?
sa me permet pas d'appliquer la méthode getString (). seulement, je suis en mesure de mettre en œuvre avec méthode get (). Im mon cas, le JSON je suis prise en elle-même contient des guillemets doubles si la conversion en chaîne de caractères sans changement parce que la chaîne elle-même contenant la citation.
Est-il un autre moyen pour supprimer les guillemets entre le début et la fin à l'aide de sous-chaîne de format ou quelque chose d'autre..?
+1 mais toujours pas la résolution de mon problème. seulement un résultat correct avec l'aide de testValue.toString().replaceAll("\"", "");
OriginalL'auteur Amin Abu-Taleb
Dans le cas de l'utilisation javax.json.JsonArray
vous pouvez obtenir la Chaîne de caractères d'un JsonValue donc:
OriginalL'auteur Thero
citations dans des tableaux dépend de la JOSN Lib:
org.codehaus.larguer.json.JSONArray
ou
org.json.JSONArray
OriginalL'auteur user4605712
Ce fil est assez vieux, mais je suis tombé sur le même problème il ya une heure et trouvé la bonne solution. Vous avez pour vérifier le type de JsonValue et si ses un JsonString, vous pouvez l'analyser pour JsonString et appeler sa méthode getString ().
OriginalL'auteur user2070007
Meilleure option est d'utiliser
.getString()
méthode de JSONObject ou.valueOf()
méthode de Chaîne de caractères.Vous pouvez également utiliser le
.replaceAll("\"","")
, mais cela a des problèmes, lorsque la chaîne contient"
(guillemets doubles) incorporé. Donc, évitez d'utiliser le replaceAll() la méthode pour sortir des problèmes inattendus.Mais encore, si vous voulez le code sur votre propre par votre main ou Si vous voulez savoir comment faire pour supprimer les guillemets doubles sans l'aide de
getString() and .valueOf()
, vous pouvez essayer comme ceciil donnera la sous-chaîne à l'exclusion des premiers et derniers caractères de la Chaîne. Mais, il semble comme quelque chose malpropre.
À partir de ces deux options, sous-chaîne est la meilleure option.
OriginalL'auteur Azeez
En supposant
com.google.gwt.json.client.*
ici (à partir de la question des balises et l'utilisation deJSONValue
ce qui n'est guère trouvé n'importe où ailleurs),toString()
est destiné à vous donner une représentation JSON de la valeur.Ici, la valeur est un
JSONString
, de sorte que vous devez utiliser:OriginalL'auteur Thomas Broyer
vous pouvez utiliser le ci-dessous pour obtenir de chaîne sans guillemets
cela donne à la chaîne sans guillemets
" "
dans la chaîneOriginalL'auteur HariKishore
Est tout ce dont vous avez besoin!
JSON.Stringify()
obtenez la valeur de la clé en conséquence. EtJSON.parse()
va analyser votre valeur et le retour de la "sec" de la valeur, sans devis.OriginalL'auteur Gfast2
Ce qui a fonctionné pour moi est
OriginalL'auteur Saurabh Juneja