より簡単なJsonStringデータとMap,List間の変換
2334 ワード
前編では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コレクションに変換これにより、Map集合の各キー値をMapmap=getMap(entity)とすることができる.for(Map.Entry m:map.entrySet()){ Log.i(TAG,"--------key------:"+ m.getKey() + "value"+m.getValue());
JsonStringの配列データをList>データの集合に変換これにより配列中のデータが取得され、一度遍歴すると各キー値が取得されるList>mapList=getList(person);int size = mapList.size(); for (int i = 0; i < size; i++) { Map map1ist = mapList.get(i); for (Map.Entry m : map1ist.entrySet()) { Log.i(TAG,"---key:---list---"+ m.getKey() + "value"+ } }
このような方法でJsonStringデータをMapとListに変換する.より簡単であるだけでなく、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 getMap(String jsonString)
{
JSONObject jsonObject;
try
{
jsonObject = new JSONObject(jsonString); @SuppressWarnings("unchecked")
Iterator keyIter = jsonObject.keys();
String key;
Object value;
Map valueMap = new HashMap();
while (keyIter.hasNext())
{
key = (String) keyIter.next();
value = jsonObject.get(key);
valueMap.put(key, value);
}
return valueMap;
}
catch (JSONException e)
{
e.printStackTrace();
}
return null;
}
JsonStringの配列データをList>データの集合に変換
/**
* json ArrayList
* @return
*/
public static List
このような方法でJsonStringデータをMapとListに変換する.より簡単であるだけでなく、jarパケットの時代遅れと相互衝突の問題を回避します.