2013-11-25 95 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/ –

相关问题