android 字符串转换成JSON对象
16lz
2021-01-23
public class JsonHelper {
public static Class<?> kindClass;
/**
* @Summary 获取一个json对象
* @param JsonString 一个json格式的字符串
* @return 正常返回一个json对象 异常返回 null
*/
public static synchronized JSONObject getJsonObject(String JsonString)
{
JSONObject jsonObject = null;
try {
JsonString = getJsonStrFromNetData(JsonString);
JSONArray entries = new JSONArray(JsonString);
if(entries.length() > 0 )
{
jsonObject = entries.getJSONObject(0);
}
return jsonObject;
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
/**
* @Summary 获取json 对象的数组
* @param JsonString json格式的字符串
* @return 返回Json 对象的数组
*/
public static synchronized List getJsonObjects(String JsonString)
{
JsonString = getJsonStrFromNetData(JsonString);
ArrayList array = new ArrayList();
try {
JSONArray entries = new JSONArray(JsonString);
for (int i = 0; i < entries.length(); i++) {
JSONObject jsObject = entries.getJSONObject(i);
if(jsObject != null)
{
array.add(jsObject);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return array;
}
/**
* @summary 去除非Json的字符串部分
* @param jsonString 包含Json字符串的数据
* @return json字符串
*/
public static synchronized String getJsonStrFromNetData(String jsonString)
{
int first = jsonString.indexOf("[");
int last = jsonString.lastIndexOf("]");
String result = "";
if (last > first) {
result = jsonString.substring(first, last + 1);
}
return result;
}
/***
* @summary 通过json字符串获取 实体对象
* @param jsonStr Json 字符串
* @param itemType 实体的类型
* @return 实体数组
*/
public static synchronized ArrayList getEntityFromJson(String jsonStr,Class classOfT)
{
try {
jsonStr = getJsonStrFromNetData(jsonStr);
Gson gson = new Gson();
Type type = new TypeToken>() {}.getType();
ArrayList jsObjs = gson.fromJson(jsonStr, type);
ArrayList listOfT = new ArrayList();
for (JsonObject obj : jsObjs) {
listOfT.add(new Gson().fromJson(obj,classOfT));
}
return listOfT;
} catch (Exception e) {
return null;
}
}
public static Class<?> kindClass;
/**
* @Summary 获取一个json对象
* @param JsonString 一个json格式的字符串
* @return 正常返回一个json对象 异常返回 null
*/
public static synchronized JSONObject getJsonObject(String JsonString)
{
JSONObject jsonObject = null;
try {
JsonString = getJsonStrFromNetData(JsonString);
JSONArray entries = new JSONArray(JsonString);
if(entries.length() > 0 )
{
jsonObject = entries.getJSONObject(0);
}
return jsonObject;
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
/**
* @Summary 获取json 对象的数组
* @param JsonString json格式的字符串
* @return 返回Json 对象的数组
*/
public static synchronized List
{
JsonString = getJsonStrFromNetData(JsonString);
ArrayList
try {
JSONArray entries = new JSONArray(JsonString);
for (int i = 0; i < entries.length(); i++) {
JSONObject jsObject = entries.getJSONObject(i);
if(jsObject != null)
{
array.add(jsObject);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return array;
}
/**
* @summary 去除非Json的字符串部分
* @param jsonString 包含Json字符串的数据
* @return json字符串
*/
public static synchronized String getJsonStrFromNetData(String jsonString)
{
int first = jsonString.indexOf("[");
int last = jsonString.lastIndexOf("]");
String result = "";
if (last > first) {
result = jsonString.substring(first, last + 1);
}
return result;
}
/***
* @summary 通过json字符串获取 实体对象
* @param jsonStr Json 字符串
* @param itemType 实体的类型
* @return 实体数组
*/
public static synchronized
{
try {
jsonStr = getJsonStrFromNetData(jsonStr);
Gson gson = new Gson();
Type type = new TypeToken>() {}.getType();
ArrayList
ArrayList
for (JsonObject obj : jsObjs) {
listOfT.add(new Gson().fromJson(obj,classOfT));
}
return listOfT;
} catch (Exception e) {
return null;
}
}
更多相关文章
- Android中 字符串-数字 的转化
- Android中Intent传递对象的两种方法:Serializable & Parcelable
- Android Audio代码分析21 - 创建AudioEffect对象
- Android 字符串转换大小写
- Android Training精要(六)如何防止Bitmap对象出现OOM
- android 计算字符串长度,高度
- Android中ArrayList动态数组用法
- 【Java】java和android网络编程 - 对byte数组压缩和解压缩(zip,g