更為簡單的JsonString資料與Map,List之間的轉換
前篇文章有說到JSONObject資料與Map,ArrayList之間的轉換,需要匯入下面的一些jar包,後來發現不用匯入也可以直接轉換。
json-lib-2.4-jdk15.jar
ezmorph-1.0.6.jar
commons-logging.jar
commons-lang.jar
commons-collections.jar
commons-beanutils.jar
JsonString資料轉換成Map集合
/**
* 將json 陣列轉換為Map 物件
* @param jsonString
* @return
*/
public static Map<String, Object> getMap(String jsonString)
{
JSONObject jsonObject;
try
{
jsonObject = new JSONObject(jsonString); @SuppressWarnings("unchecked")
Iterator<String> keyIter = jsonObject.keys();
String key;
Object value;
Map<String, Object> valueMap = new HashMap<String, Object>();
while (keyIter.hasNext())
{
key = (String) keyIter.next();
value = jsonObject.get(key);
valueMap.put(key, value);
}
return valueMap;
}
catch (JSONException e)
{
e.printStackTrace();
}
return null;
}
- 通過這個就可以把Map集合中的各個鍵值拿出來
Map<String, Object> map = getMap(entity);
for(Map.Entry<String,Object> m:map.entrySet()){
Log.i(TAG,"--------key------:" + m.getKey() + " value" +m.getValue());
JsonString的陣列資料轉換成List<Map<String, Object>>資料的集合
/**
* 把json 轉換為ArrayList 形式
* @return
*/
public static List<Map<String, Object>> getList(String jsonString)
{
List<Map<String, Object>> list = null;
try
{
JSONArray jsonArray = new JSONArray(jsonString);
JSONObject jsonObject;
list = new ArrayList<Map<String, Object>>();
for (int i = 0; i < jsonArray.length(); i++)
{
jsonObject = jsonArray.getJSONObject(i);
list.add(getMap(jsonObject.toString()));
}
}
catch (Exception e)
{
e.printStackTrace();
}
return list;
}
- 這樣就能拿到陣列中的資料,在遍歷一次就可以拿到各個鍵值了
List<Map<String, Object>> mapList = getList(person);
int size = mapList.size();
for (int i = 0; i < size; i++) {
Map<String, Object> map1ist = mapList.get(i);
for (Map.Entry<String, Object> m : map1ist.entrySet()) {
Log.i(TAG,"---key:---list---" + m.getKey() + " value" +
}
}
通過這樣的方法來轉換JsonString資料為Map和List。不僅更為簡單,而且避免了jar包過時和相互衝突的問題。
相關文章
- 簡單易用的JSON與List相互轉換JSON
- 字串與資料流之間的轉換字串
- Map 轉json資料,json資料轉換為MapJSON
- Json,String,Map之間的轉換JSON
- 如何在Java 8中將List轉換為Map?Java
- Map和String型別之間的轉換型別
- Android Studio NDK 入門教程(2)--Java與C++之間的簡單資料轉換與傳遞AndroidJavaC++
- Java 資料型別之間的轉換Java資料型別
- 當 dbt 遇見 TiDB丨高效的資料轉換工具讓資料分析更簡單TiDB
- NSData與UIImage之間的轉換UI
- Java中 set,list,array(集合與陣列)、Map相互轉換Java陣列
- ANSI與UTF8之間的轉換!std::string與UTF8之間的轉換
- Json串與List、Bean之間的轉換,處理類中List屬性的序列化問題JSONBean
- ADO資料與XML資料間的轉換的類(ASP實現) (轉)XML
- 5.JavaScript資料型別之間的轉換JavaScript資料型別
- 大資料匯入之MySql設計之空間換時間的設計變更大資料MySql
- c# 整型資料與字串 的之間互換C#字串
- [轉] jQuery物件與DOM物件之間的轉換jQuery物件
- ORACLE資料庫中SCN與時間的轉換Oracle資料庫
- ChannelHandler之間處理資料格式轉換與Netty自帶的ChannelhandlerNetty
- Java中Array與ArrayList之間的轉換Java
- spark: RDD與DataFrame之間的相互轉換Spark
- Jquery 陣列與字串之間的轉換jQuery陣列字串
- json字串與Object、List、Map的互轉工具類JSON字串Object
- java json字串轉換為物件,轉換為listJavaJSON字串物件
- asp.net中DataTable和List之間相互轉換ASP.NET
- List ,Set,Map集合與陣列互轉陣列
- DataTable與List相互轉換
- python str與bytes之間的轉換Python
- nodejs字元與位元組之間的轉換NodeJS字元
- Java Stram實現Map和字串之間互相轉換| BaeldungJava字串
- 7.GoLang中基本資料型別之間的轉換Golang資料型別
- mysql時間與字串之間相互轉換MySql字串
- javascript資料型別轉換簡單介紹JavaScript資料型別
- 轉:java中陣列與List相互轉換的方法Java陣列
- java中Map,List與Set的區別Java
- Java 第9 章 : 資料表與簡單Java類對映轉換Java
- 整形資料轉換為字串的研究字串