我正在尝试将简单的JSONObject转换为字符串,但不断崩溃。
classStr = (Class<T>) String.class;
Gson gson = new Gson();
dataObject = gson.fromJson( obj, classStr );
obj是 - &gt; { "myData" : "1234" }
。
**当obj只是一个字符串(“myDate:1234”)时,它可以工作。
答案 0 :(得分:2)
下面的代码用于将Java或Json Object转换为GsonString:
<iframe src="your_page_url" allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen"> </iframe>
将gsonString转换为Object:
//Here Object may b collection object or any other java object
public String convertToGsonString(Object obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}
例如,这里将Object视为HashMap:
public Object convertFromGson(String gsonString) {
Gson gson = new Gson();
Type type = new TypeToken<Object>() {
}.getType();
return gson.fromJson(gsonString, type);
}
从GsonStringTo转换为HashMap:
public String convertToGsonString(HashMap<String,String> obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}
答案 1 :(得分:1)
制作模特课程。
Class DataObject {
public String myData;
}
然后使用此代码。
Gson gson = new Gson();
DataObject dataObject = gson.fromJson(obj, DataObject .class);
答案 2 :(得分:0)
使用以下代码:
Gson gson = new Gson();
DataObject dataObject = gson.fromJson(obj,DataObject.class);
因为Json方法的Gson签名是:
public <T> T fromJson(String json, Class<T> classOfT) throws JsonSyntaxException {
这里它返回类型为T的对象。因此,不使用String.class(不匹配类类型)而是使用dataObject实例的类,否则它将抛出JsonSyntaxException。