问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

安卓sp怎么存储 JSONObject

发布网友 发布时间:2022-04-24 14:30

我来回答

1个回答

热心网友 时间:2023-09-14 17:01

给你一个工具类,它们都可以相互转化:
你的解决方案:1.先把object转化为json字符串,然后用sp保存字符串即可.
如果要反序列化,先通过sp获取json字符串,再将字符串转化为object;
下面的方法可直接调用,需要导入谷歌的gson包.

public class JsonUtil {

/**
* 把一个map变成json字符串
* @param map
* @return
*/
public static String parseMapToJson(Map<?, ?> map) {
try {
Gson gson = new Gson();
return gson.toJson(map);
} catch (Exception e) {
}
return null;
}

/**
* 对象转换成json字符串
* @param obj
* @return
*/
public static String toJson(Object obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}

/**
* 把一个json字符串变成对象
* @param json
* @param cls
* @return
*/
public static <T> T parseJsonToBean(String json, Class<T> cls) {
Gson gson = new Gson();
T t = null;
try {
t = gson.fromJson(json, cls);
} catch (Exception e) {
}
return t;
}

/**
* 把json字符串变成map
* @param json
* @return
*/
public static HashMap<String, Object> parseJsonToMap(String json) {
Gson gson = new Gson();
Type type = new TypeToken<HashMap<String, Object>>() {
}.getType();
HashMap<String, Object> map = null;
try {
map = gson.fromJson(json, type);
} catch (Exception e) {
}
return map;
}

/**
* 把json字符串变成集合
* params: new TypeToken<List<yourbean>>(){}.getType(),
*
* @param json
* @param type new TypeToken<List<yourbean>>(){}.getType()
* @return
*/
public static List<?> parseJsonToList(String json, Type type) {
Gson gson = new Gson();
List<?> list = gson.fromJson(json, type);
return list;
}

/**
*
* 获取json串中某个字段的值,注意,只能获取同一层级的value
*
* @param json
* @param key
* @return
*/
public static String getFieldValue(String json, String key) {
if (TextUtils.isEmpty(json))
return null;
if (!json.contains(key))
return "";
JSONObject jsonObject = null;
String value = null;
try {
jsonObject = new JSONObject(json);
value = jsonObject.getString(key);
} catch (JSONException e) {
e.printStackTrace();
}
return value;
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
远得要命的爱情丁菲是谁演的 远的要命的爱情里的乔佳影是谁演的 远得要命的爱情乔佳影是什么角色 问。。我在厦门办的银行卡回江西可以用吗? 远得要命的爱情中的乔佳影是个怎样的人 厦门农信社的公告出来了,想问一下银行合同制和劳务派遣和正式工的区别... 厦门的信用社银联卡到南宁能不能用?要不要手续费? 泉州农信社年前新办的卡,存了钱,银行说三个工作日后才能动这个钱,为什 ... ...女鞋的话 是不是必须直通车 我们鞋子都是20---50鞋子利润低 直通车... 拼多多直通车200红包(拼多多直通车每天烧1000) android json解析三种方式哪种效率最高 河南耗资127亿建设却免费开放古城,吸引了很多人前来游玩,具体位于河南... 千年古都洛阳,如今为什么会成为三线城市 长安是千年古都,为什么杨广偏偏新建东都洛阳呢? 洛阳和开封,哪个更值得一去呢? 同是古都,为什么现在洛阳的发展没有西安好? 为什么有的人说洛阳是九朝古都,为什么有的人说洛阳是十三朝古都? 经历“整容”般开发的13朝古都洛阳,拆真建假,古都之魂如何修复? java 解析json字符串 Java使用 gson 解析出现的错误 关于java 泛型和反射相关问题,想抽象出一个工具方法。 我很想快速的学会五笔输入法,谁能教教我!谢谢 简单快速输入法 除了gson还有什么能解析json 从客户端封装JSON数据,如何异步传送到Java后台Action解析。 怎么样可以快速学会五笔输入法 关于java泛型的疑问 大神们帮帮忙啊 为什麼电脑内的速成输入法不见了 Gson默认将int和long型数据转换为double Struts2 怎么获得前台传来json中的 map。 Android 中传递对象的集合 android怎么传一个list集合 java 正则匹配 如何根据json格式生成java bean对象 facebook怎么群发小组信息 怎么使用支付宝的花呗 楼房里果蝇怎么处理 果蝇如何处理 处理果蝇的方法 如何处理厨房的果蝇? 怎样杀掉果蝇啊??家里的果蝇很多,用杀虫剂很难杀啊? 果蝇生物的防治方式 断桥铝推拉窗与塑钢推拉窗区别在哪? 塑钢门窗平开窗与推拉窗哪个好 塑钢窗(推拉型)如何增强密封性? 塑钢窗(推拉型)如何增强密封性 indesign技巧,首字下沉怎么做? 邮政银行用手机怎样查询余额的? 请问行家推拉窗塑钢窗户外框角与角如何组装? 中国邮政储蓄银行存款余额用手机如何查?