2010-11-30 9 views
2

Comment convertir ces JSON valeurs clsError et userId:comment convertir objet JSON en objet de classe

String temp = "{"clsError":{"ErrorCode":110,"ErrorDescription":" Request Added"},"UserID":36}" 

Et les transmettre comme paramètres:

clsError errorObject=new clsError(UserID,clsError); 
+0

son JSON, et non jason. cela pourrait aider. – m4tt1mus

Répondre

2

Première utilisation ceci: http://developer.android.com/reference/org/json/JSONObject.html#JSONObject(java.lang.String)

JSONObject tempJson = new JSONObject(temp); 
JSONObject clsErrorJson = tempJson.getJSONObject("clsError"); 
clsError errorObject = new clsError(tempJson.getString("UserID"), 
            clsErrorJson.getInt("clsError") + ": " 
            + clsErrorJson.getString("ErrorDescription")); 

c'est essentiellement ça. mais je n'étais pas sûr du second paramètre du constructeur clsError. J'ai juste supposé que c'est une chaîne dans mon exemple :) mais cela devrait vous donner l'idée de comment faire cela. et vous devrez entourer cela avec try/catch. eclipse vous dira comment :)

+0

@Ankit Jain: merci pour l'édition. Enfin, je sais comment je peux faire ces liens corrects :) [linkurl] [1] c'est :) mais non .. pourquoi je ne peux pas le faire de cette façon dans les messages? il n'acceptera pas ce format :( –

+0

Merci Patrick. – Kishore

1

J'ai trouvé le ObjectMapper de jackson extrêmement utile dans ce genre de cas.

ObjectMapper objectMapper = new ObjectMapper(); 
clsError error = objectMapper.readValue(temp, clsError.class)); 
0

Vous pouvez utiliser la méthode étendre jQuery pour envelopper votre JSON en javascript objet comme ci-dessous:

function clsError(ErrorCode,ErrorDescription,UserID){ 
    this.ErrorCode=ErrorCode; 
    this.ErrorDescription=ErrorDescription; 
    this.UserID=UserID; 
} 

String temp="{"clsError":{"ErrorCode":110,"ErrorDescription":" Request Added"},"UserID":36}" 
var obj = $.extend(new clsError(), temp); 
Questions connexes