更為簡單的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,String,Map之間的轉換JSON
- List Set Map之間的不同
- Map和String型別之間的轉換型別
- 如何在Java 8中將List轉換為Map?Java
- 當 dbt 遇見 TiDB丨高效的資料轉換工具讓資料分析更簡單TiDB
- JSONObject應用Json字串和Object物件之間的轉換,Map封裝資料思路JSONObject字串物件封裝
- python str與bytes之間的轉換Python
- ChannelHandler之間處理資料格式轉換與Netty自帶的ChannelhandlerNetty
- 5.JavaScript資料型別之間的轉換JavaScript資料型別
- list與字串轉換字串
- Java中Array與ArrayList之間的轉換Java
- 大資料匯入之MySql設計之空間換時間的設計變更大資料MySql
- DataTable與List相互轉換
- 7.GoLang中基本資料型別之間的轉換Golang資料型別
- Java Stram實現Map和字串之間互相轉換| BaeldungJava字串
- mysql時間與字串之間相互轉換MySql字串
- List和ObservableCollection的轉換
- js資料型別間的互相轉換JS資料型別
- android中String與InputStream之間的相互轉換方式Android
- Apple開發_NSImage與CIImage之間的相互轉換APP
- Avdshare Video Converter,讓影片轉換變得更簡單!IDE
- Java 第9 章 : 資料表與簡單Java類對映轉換Java
- 角度和弧度之間的轉換
- Java 中陣列轉換為 ListJava陣列
- 實戰小技巧19:List轉Map List的幾種姿勢
- 【Go】IP地址轉換:數字與字串之間高效轉換Go字串
- 第42篇 字元與進位制之間的轉換字元
- List 和 陣列 的轉換陣列
- 簡單探討JavaScript 與 TypeScript之間的聯絡JavaScriptTypeScript
- 簡單介紹HTTP與HTTPS之間的區別HTTP
- torch.tensor、numpy.array、list三者之間互相轉換
- unix時間轉換為datetimedatetime轉換為unixtime
- pyhanlp 繁簡轉換之拼音轉換與字元正則化HanLP字元
- 【JavaSE】集合類Collection集合Map集合的簡單介紹,List介面,中三個常用子類ArrayList、Vector、LinkedList之間的比較。Set介面。Java
- String和Date、Timestamp之間的轉換
- Java中將 Map 轉換為 Spring MultiValueMapJavaSpring
- Android 時間軸的實現(RecyclerView更簡單)AndroidView
- SpringMVC的亂碼與時間轉換SpringMVC
- 【Java】基本資料、包裝類間轉換與處理Java