Json解析工具类JsonHelper
发布时间:2020-05-24 20:06:28 所属栏目:Java 来源:互联网
导读:Json解析工具类JsonHelper
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 利用Gson快速解析jsonJsonHelper代码如下:import java.util.ArrayList;
import java.util.List;
import android.text.TextUtils;
import com.google.gson.Gson;
import com.google.gson.JsonParseException;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
public class JsonHelper {
private static JsonHelper util;
public static JsonHelper getInstance() {
if (util == null) {
util = new JsonHelper();
}
return util;
}
private JsonHelper() {
super();
}
public String createJsonString(Object value) {
Gson gson = new Gson();
String str = gson.toJson(value);
return str;
}
public <T> T getObject(String jsonString,Class<T> cls) {
T t = null;
try {
if (isGoodJson(jsonString)) {
Gson gson = new Gson();
t = gson.fromJson(jsonString,cls);
}
} catch (Exception e) {
e.printStackTrace();
}
return t;
}
public <T> List<T> getList(String jsonString,TypeToken<T> tt) {
List<T> list = new ArrayList<T>();
try {
if (isGoodJson(jsonString)) {
Gson gson = new Gson();
list = gson.fromJson(jsonString,tt.getType());
}
} catch (Exception e) {
}
return list;
}
public boolean isBadJson(String json) {
return !isGoodJson(json);
}
public boolean isGoodJson(String json) {
if (TextUtils.isEmpty(json)) {
return false;
}
try {
new JsonParser().parse(json);
} catch (JsonParseException e) {
return false;
}
return true;
}
}
使用方法Bean bean = new Bean();
bean.age="30";
bean.name="name";
String result = JsonHelper.getInstance().createJsonString(bean);
System.out.println(result);
Bean bean2 = JsonHelper.getInstance().getObject(result,Bean.class);
System.out.println(bean2.toString());
ArrayList<Bean> list = new ArrayList<Bean>();
list.add(bean);
list.add(bean2);
result = JsonHelper.getInstance().createJsonString(list);
System.out.println(result);
List<ArrayList<Bean>> list2 = JsonHelper.getInstance().getList(result,new TypeToken<ArrayList<Bean>>(){});
System.out.println(list2.toString());
public class Bean {
String name="";
String age="";
@Override
public String toString() {
return "Bean [name=" + name + ",age=" + age + "]";
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
