Convertir de classe dans un JSONObject

J'ai plusieurs classes de ce genre. Je veux convertir les classes en JSONObject format.

import java.io.Serializable;

import com.google.gson.annotations.SerializedName;

public class User implements Serializable {
    private static final long serialVersionUID = 1L;
    @SerializedName("id")
    private Integer mId;
    @SerializedName("name")
    private String mName = "";
    @SerializedName("email")
    private String mEmail;

    public Integer getId() {
        return mId;
    }
    public void setId(Integer id) {
        mId = id;
    }

    public String getName() {
        return mName;
    }
    public void setName(String name) {
        mName = name;
    }

    public String getEmail() {
        return mEmail;
    }
    public void setEmail(String email) {
        mEmail = email;
    }
}

Je sais que je peux convertir ces classes à JSONObject format comme suit:

    User user = new User();
    JSONObject jsonObj = new JSONObject();
    try {
        jsonObj.put("id", user.getId());
        jsonObj.put("name", user.getName());
        jsonObj.put("email", user.getEmail());
    } catch (JSONException e) {
        //TODO Auto-generated catch block
        e.printStackTrace();
    }

Le problème est que j'ai besoin de faire cela pour beaucoup de classes différentes qui sont beaucoup plus long que ce à travers un grand nombre de fichiers. Puis-je utiliser GSON pour remplir le JSONObject de myClass de sorte que je n'ai pas besoin de modifier chaque fois que la classe des modifications de la structure?

La suivante renvoie une chaîne JSON, mais j'ai besoin d'elle comme d'un Objet que quand je l'envoie au système qui envoie les requêtes via une API REST il envoie avec des guillemets.

User user = new User();
Gson gson = new Gson();
Object request = gson.toJson(user);

Quand je l'utilise dans un autre JSON constructeur qui demande un Objet-je obtenir

{"request":"{"id":"100","name":"Test Name","email":"test@example.com"}"}

Quand je veux

{"request":{"id":"100","name":"Test Name","email":"[email protected]"}}
InformationsquelleAutor TTransmit | 2014-06-20