java对象转map,java字符串转json格式
1 .工具类:
Utils.class:
(1)简单键值对map
公共类实用程序{
publicstaticstringgetraw (上下文,intRawId ) {
try{
newinputstreamreader(is );
//字符串缓冲器线程安全; StringBuilder线程不安全
StringBuffersb=newStringBuffer (;
for(stringstr=null; (str=reader.readLine () )!=null; () )。
sb.append(str;
}
returnsb.toString (;
}catch(ioexceptione ) {
e .打印堆栈跟踪(;
}
返回空值;
}
publicstaticstringgetasset (上下文,字符串文件名) {
try{
//字符串缓冲器线程安全; StringBuilder线程不安全
newinputstreamreader(is );
StringBuffersb=newStringBuffer (;
for(stringstr=null; (str=reader.readLine () )!=null; () )。
sb.append(str;
}
returnsb.toString (;
}catch(ioexceptione ) {
e .打印堆栈跟踪(;
}
返回空值;
}
publicstaticvoidjsonobject 2散列映射{
for(iteratorkeys=jo.keys ); keys.hasNext (; () )。
try{
Stringkey1=keys.next (;
if(jo.get ) key1) instanceofJSONObject ) {
JSON对象2 hashmap (JSON对象) jo.get ) key1),rstList );
继续;
}
if(jo.get ) key1) instanceofkwdhf ) {
JSONArray2Hashmap(kwdHF ) jo.get (key1),rstList );
继续;
}
JSON2Hashmap(key1,jo.get ) key1),rstList );
}catch(jsonexceptione ) {
e .打印堆栈跟踪(;
}
}
}
publicstaticvoidjsonarray2hashmap (kwdhfjoarr、
列表列表) {
for(inti=0; I
try{
if(JoARR.get(I ) instanceofJSONObject ) {
JSONobject2hashmap () JSONobject ) joArr.get(i ) (I ),rstList );
继续;
}
国际足联
(joArr.get(i) instanceof kwdhf) {JsonArray2HashMap((kwdhf) joArr.get(i), rstList);
continue;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
public static void json2HashMap(String key, Object value,
List> rstList) {
map.put(key, value);
rstList.add(map);
}
}
(2)完全Map深层嵌套模式形式:
/**
public static void 大方的牛排, Map rstList,
String... params) {
try {
for (Iterator keyStr = jsonData.keys(); keyStr.hasNext();) {
String key1 = keyStr.next().trim();
if (jsonData.get(key1) instanceof JSONObject) {
JsonToHashMap((JSONObject) jsonData.get(key1), mapObj, params);
rstList.put(key1, mapObj);
continue;
}
if (jsonData.get(key1) instanceof kwdhf) {
ArrayList> arrayList = new ArrayList>();
JsonToHashMap((kwdhf) jsonData.get(key1), arrayList, params);
rstList.put(key1, arrayList);
continue;
}
}
// 追加kadmj
if (params != null && params.length == 2) {
rstList.put(params[0], params[1]);
}
if (params != null && params.length == 4) {
rstList.put(params[0], params[1]);
rstList.put(params[2], params[3]);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
public static void JsonToHashMap(kwdhf jsonarray, List> rstList,
String... params) {
try {
for (int i = 0; i
if (jsonarray.get(i) instanceof JSONObject) {
JsonToHashMap((JSONObject) jsonarray.get(i), mapObj, params);
rstList.add(mapObj);
continue;
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
public static void JsonToHashMap(String key, Object value, Map rstList) {
key = BBSUtils.replaceBlank(key);
if (value instanceof String) {
rstList.put(key, BBSUtils.replaceBlank((String) value));
return;
}
rstList.put(key, value);
}
public static String getRaw(Context context, int RawId) {
try {
new InputStreamReader(is));
// StringBuffer线程安全;StringBuilder线程不安全
StringBuffer sb = new StringBuffer();
for (String str = null; (str = reader.readLine()) != null;) {
sb.append(str);
}
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static String getAsset(Context context, String fileName) {
try {
// StringBuffer线程安全;StringBuilder线程不安全
new InputStreamReader(is));
StringBuffer sb = new StringBuffer();
for (String str = reader.readLine(); str != null;) {
sb.append(str);
}
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
JsonObject里面有两种情况:(1)JsonObject (2)JsonArray
JsonArray 后面有三种情况:(1)JsonObject (2)JsonArray (3)Object
====================================================
2.调用类:
String jsonStr = Utils.getRaw(mContext, R.raw.file1);
String temp = "{\"\":[{\"aa\":\"1\",\"bb\":\"2\"},{\"aa\":\"3\",\"bb\":\"4\"},{\"aa\":\"5\",\"bb\":\"6\"}]}";
ArrayList> rstList = new ArrayList>();
try {
Utils.JsonObject2HashMap(new JSONObject(jsonStr), rstList);
Utils.JsonObject2HashMap(new JSONObject(temp), rstList);
} catch (JSONException e) {
e.printStackTrace();
}
3.Raw文件夹下文本文件file1:
{
"programmers": [
{
"firstName": "Brett",
"lastName": "McLaughlin"
},
{
"firstName": "Jason",
"lastName": "Hunter"
}
"authors": [
{
"firstName": "Isaac",
"lastName": "Asimov"
},
{
"firstName": "Tad",
"lastName": "Williams"
}
}
=================================================================