@SuppressWarnings({ "rawtypes", "unchecked" })
	private void decodeJSON_Object(HashMap map, JSONObject value)
	{
		Iterator keys = value.keys();
		while(keys.hasNext())
		{
			Object key = keys.next();
			Object o;
			try {
				o = value.get(key.toString());
				String keyType = "";
				if(o instanceof Number)
				{
					keyType = JSONConst.TYPE_NUMER;
					KeyVo keyVo = (KeyVo) (attKeyMap.get(key)!=null?attKeyMap.get(key):KeyVo.createKeyVo(key, keyType));
					attKeyMap.put(key, keyVo);
					put(map, key, o);
					col++;
				}
				else if(o instanceof String)
				{
					keyType = JSONConst.TYPE_STRING;
					KeyVo keyVo = (KeyVo) (attKeyMap.get(key)!=null?attKeyMap.get(key):KeyVo.createKeyVo(key, keyType));
					attKeyMap.put(key, keyVo);
					decodeString(map, key, o);
					col++;
				}
				else if(o instanceof JSONArray)
				{
					ArrayList childList = new ArrayList();
					put(map, key, childList);
					keyType = JSONConst.TYPE_ARRAY;
					KeyVo keyVo = (KeyVo) (attKeyMap.get(key)!=null?attKeyMap.get(key):KeyVo.createKeyVo(key, keyType));
					attKeyMap.put(key, keyVo);
					decodeArray(childList, (JSONArray) o, keyVo);
					col++;
				}
				else if(o instanceof JSONObject)
				{
					HashMap childMap = new HashMap();
					put(map, key, childMap);
					decodeRow(childMap, (JSONObject) o);
				}
				indexList.add(key);
				row++;
			} catch (JSONException e) {
				e.printStackTrace();
			}
		}
	}