Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
hrxiang committed May 25, 2022
1 parent 9298872 commit 1efa550
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 23 deletions.
9 changes: 4 additions & 5 deletions OpenIM-SDK/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,9 @@ android {
dependencies {
implementation 'androidx.collection:collection:1.1.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

implementation 'io.openim:core-sdk:2.0.9.4@aar'
implementation 'com.alibaba:fastjson:1.1.72.android'
// implementation 'com.google.code.gson:gson:2.8.7'
implementation 'io.openim:core-sdk:2.0.9.6@aar'
implementation 'com.google.code.gson:gson:2.9.0'
}
119 changes: 104 additions & 15 deletions OpenIM-SDK/src/main/java/io/openim/android/sdk/utils/JsonUtil.java
Original file line number Diff line number Diff line change
@@ -1,30 +1,119 @@
package io.openim.android.sdk.utils;

import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class JsonUtil {
public static String toString(Object o) {
return JSONObject.toJSONString(o);
// public static String toString(Object o) {
// return JSONObject.toJSONString(o);
// }
//
// public static <T> T toObj(String text, Class<T> clazz) {
// try {
// return JSONObject.parseObject(text, clazz);
// } catch (Exception e) {
// e.printStackTrace();
// }
// return null;
// }
//
// public static <T> List<T> toArray(String text, Class<T> clazz) {
// try {
// return JSONObject.parseArray(text, clazz);
// } catch (Exception e) {
// e.printStackTrace();
// }
// return null;
// }
private static final Gson gson = new Gson();

/**
* 将object对象转成json字符串
*/
public static String toString(Object object) {
String gsonString = null;
if (null != object) {
gsonString = gson.toJson(object);
}
return gsonString;
}


/**
* 将gsonString转成泛型bean
*/
public static <T> T toObj(String gsonString, Class<T> cls) {
T t = null;
if (null != gsonString) {
t = gson.fromJson(gsonString, cls);
}
return t;
}

public static <T> T toObj(String text, Class<T> clazz) {
try {
return JSONObject.parseObject(text, clazz);
} catch (Exception e) {
e.printStackTrace();

/**
* 转成list
* 泛型在编译期类型被擦除导致报错
* @param gsonString
* @param cls
* @return
*/
// public static <T> List<T> GsonToList(String gsonString, Class<T> cls) {
// List<T> list = null;
// if (gson != null) {
// list = gson.fromJson(gsonString, new TypeToken<List<T>>() {
// }.getType());
// }
// return list;
// }

/**
* 转成list
* 解决泛型在编译期类型被擦除导致报错
*/
public static <T> List<T> toArray(String json, Class<T> cls) {
List<T> list = null;
if (null != json) {
list = new ArrayList<T>();
JsonArray array = JsonParser.parseString(json).getAsJsonArray();
for (final JsonElement elem : array) {
list.add(gson.fromJson(elem, cls));
}
}
return null;
return list;
}

public static <T> List<T> toArray(String text, Class<T> clazz) {
try {
return JSONObject.parseArray(text, clazz);
} catch (Exception e) {
e.printStackTrace();

/**
* 转成list中有map的
*/
public static <T> List<Map<String, T>> toListMaps(String gsonString) {
List<Map<String, T>> list = null;
if (null != gsonString) {
list = gson.fromJson(gsonString,
new TypeToken<List<Map<String, T>>>() {
}.getType());
}
return null;
return list;
}


/**
* 转成map的
*/
public static <T> Map<String, T> toMaps(String gsonString) {
Map<String, T> map = null;
if (null != gsonString) {
map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() {
}.getType());
}
return map;
}
}
6 changes: 3 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ android {

dependencies {
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.navigation:navigation-fragment:2.3.5'
implementation 'androidx.navigation:navigation-ui:2.3.5'
implementation project(path: ':OpenIM-SDK')
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

0 comments on commit 1efa550

Please sign in to comment.