2015-08-26 50 views
0

我在java中新有這樣的問題:重置價值

我有一個類POJO:

 @Parcel 
    public class MyObjectClass { 

     @SerializedName("data_1") 
     private int dataOne; 

     @SerializedName("data_2") 
     private String dataTwo; 

     // getter and setter 

    } 

我有一個JSON來源和使用GSON librray我初始化這個對象像:

Gson gson = new Gson(); 
MyObjectClass obj = gson.fromJson(myJsonString, MyObjectClass.class); 

現在我可以存取權限值從data_1data_2使用干將OBJ

我可以更改對象只有一個值,比如data_2是由json和data_1設置的舊有的新值?

回答

1

是的,你需要將舊值存儲在變量中,如果你想保留它。例如:

Gson gson = new Gson(); 
MyObjectClass obj = gson.fromJson(myJsonString, MyObjectClass.class); 
obj.setDataTwo("new value"); // with your setter method name for dataTwo 

或dataOne:

Gson gson = new Gson(); 
MyObjectClass obj = gson.fromJson(myJsonString, MyObjectClass.class); 
obj.setDataOne(2); // with your setter method name for dataOne 

編輯:更新的代碼以更好地適應需求

+0

很好,問題是,我從JSON字符串設定目標與價值觀,**之後的**,我需要用新值更新它... – Choletski

+0

新值來自哪裏?在這種情況下,只需使用setter與新值 – Deh

+0

我會把它,例如我在json中dataOne = 1,但之後,我將它設置爲另一個int值:2,3,4 ... – Choletski