前言:
此刻姐妹们对“jsjson转map”大概比较注意,小伙伴们都需要分析一些“jsjson转map”的相关文章。那么小编也在网络上汇集了一些对于“jsjson转map””的相关内容,希望姐妹们能喜欢,朋友们一起来学习一下吧!1.如果使用gson我们首先要导入gson的依赖:
implementation 'com.google.code.gson:gson:2.8.6'
2.工具类实现:JsonUtil
package com.antbyte.collectionorder.utils.data; import android.text.TextUtils; import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.google.gson.JsonElement;import com.google.gson.JsonParser;import com.google.gson.reflect.TypeToken; import org.json.JSONException;import org.json.JSONObject; import java.lang.reflect.Type;import java.util.HashMap;import java.util.List;import java.util.Map; public class JsonUtil { private static Gson gson = new Gson(); /** * 把一个map变成json字符串 * @param map * @return */ public static String parseMapToJson(Map<?, ?> map) { try { return gson.toJson(map); } catch (Exception e) { } return null; } /** * 把一个json字符串变成对象 * @param json * @param cls * @return */ public static <T> T parseJsonToBean(String json, Class<T> cls) { T t = null; try { t = gson.fromJson(json, cls); } catch (Exception e) { } return t; } /** * * @param json * @param jsonType new TypeToken<BaseResultBean<ResultBean2>>() {}.getType() * @param <T> * @return */ public static <T> T parseJsonToBean1(String json,Type jsonType){ return new Gson().fromJson(json, jsonType); } /** * list转json * @param list * @param <T> * @return */ public static<T> String listToJson(List<T> list){ String s = null; try { s = gson.toJson(list); }catch (Exception e){ } return s; } /** * 把json字符串变成map * @param json * @return */ public static HashMap<String, Object> parseJsonToMap(String json) { 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) { 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; } /** * 格式化json * @param uglyJSONString * @return */ public static String jsonFormatter(String uglyJSONString){ Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonParser jp = new JsonParser(); JsonElement je = jp.parse(uglyJSONString); String prettyJsonString = gson.toJson(je); return prettyJsonString; } }
3.平时用到的主要是json数据转实体类parseJsonToBean和parseJsonToList
使用示例:
UserBean userBean= JsonUtil.parseJsonToBean(result, UserBean.class);
List<UserBean> userList = (List<UserBean>) JsonUtil.parseJsonToList(data, new TypeToken<List<UserBean>>() {}.getType());
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #jsjson转map