2013-11-25 96 views
4

我有這樣的字符串(只)如何將JSON字符串轉換爲自定義對象?

"{\"username":\"stack\",\"over":\"flow\"}" 

我成功地轉換這個字符串JSON與

JSONObject object = new JSONObject("{\"username":\"stack\",\"over":\"flow\"}"); 

我有一類

public class MyClass 
{ 
    public String username; 
    public String over; 
} 

我怎樣才能將JSONObject轉換爲我的自定義MyClass對象?

+2

看着Jackson或Gson,他們都處理這種事情。 – Thomas

回答

6

可以在MyClass這需要JSONObject作爲參數實現靜態方法,並返回一個MyClass實例。例如:

public static MyClass convertFromJSONToMyClass(JSONObject json) { 
    if (json == null) { 
     return null; 
    } 
    MyClass result = new MyClass(); 
    result.username = (String) json.get("username"); 
    result.name = (String) json.get("name"); 
    return result; 
} 
+0

有沒有什麼使用JSONObject轉換對象的方法?無需修改類 – jpganz18

5

需要GSON:

Gson gson = new Gson(); 
final MyClass myClass = gson.fromJson(jsonString, MyClass.class); 

也什麼可能來方便在今後的項目爲您提供: Json2Pojo Class generator

+0

+1注意:Gson適用於簡單的情況。如果你需要更多的控制,請看看傑克遜。 –

+0

@Goran STUC一個疑問,這是什麼GSON,是不是JSON對象 –

+0

更好GSON是,你可以在這裏獲得一個API: http://code.google.com/p/google-gson/ –

相關問題