androidobjectjson
A. android 怎麼把對象轉化為json
google開發的Gson轉換利器,String json = new Gson ().toJson(object); 一行代搞定。
別忘了引入jar包,附件。
B. 安卓sp怎麼存儲 JSONObject
給你一個工具類,它們都可以相互轉化:
你的解決方案:1.先把object轉化為json字元串,然後用sp保存字元串即可.
如果要反序列化,先通過sp獲取json字元串,再將字元串轉化為object;
下面的方法可直接調用,需要導入谷歌的gson包.
public class JsonUtil {
/**
* 把一個map變成json字元串
* @param map
* @return
*/
public static String parseMapToJson(Map<?, ?> map) {
try {
Gson gson = new Gson();
return gson.toJson(map);
} catch (Exception e) {
}
return null;
}
/**
* 對象轉換成json字元串
* @param obj
* @return
*/
public static String toJson(Object obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}
/**
* 把一個json字元串變成對象
* @param json
* @param cls
* @return
*/
public static <T> T parseJsonToBean(String json, Class<T> cls) {
Gson gson = new Gson();
T t = null;
try {
t = gson.fromJson(json, cls);
} catch (Exception e) {
}
return t;
}
/**
* 把json字元串變成map
* @param json
* @return
*/
public static HashMap<String, Object> parseJsonToMap(String json) {
Gson gson = new Gson();
Type type = new TypeToken<HashMap<String, Object>>() {
}.getType();
HashMap<String, Object> map = null;
try {
map = gson.fromJson(json, type);
} catch (Exception e) {
}
return map;
}
/**
* 把json字元串變成集合
* params: new TypeToken<List<yourbean>>(){}.getType(),
*
* @param json
* @param type new TypeToken<List<yourbean>>(){}.getType()
* @return
*/
public static List<?> parseJsonToList(String json, Type type) {
Gson gson = new Gson();
List<?> list = gson.fromJson(json, type);
return list;
}
/**
*
* 獲取json串中某個欄位的值,注意,只能獲取同一層級的value
*
* @param json
* @param key
* @return
*/
public static String getFieldValue(String json, String key) {
if (TextUtils.isEmpty(json))
return null;
if (!json.contains(key))
return "";
JSONObject jsonObject = null;
String value = null;
try {
jsonObject = new JSONObject(json);
value = jsonObject.getString(key);
} catch (JSONException e) {
e.printStackTrace();
}
return value;
}
}
C. android中jsonobject和jsonobject的區別
1.JSONObject是Android原生的json類,通過import org.json.JSONObject來導入。
JsonObject需要添加gson jar包,通過com.google.gson.JsonObject來導入。
2.查看源碼,可以看到
JSONObject通過HashMap來保存鍵值對。
JsonObject使用LinkedTreeMap來保存鍵值對。
3.JSONObject:添加value為null的鍵值對,Map保存的時候會刪掉這一鍵值對;
JsonObject:添加value為null的鍵值對,Map會保留value值是null的鍵值對。
D. 有關android json object解析json 數據的問題,只能獲取到文字,獲取不到圖片
Map map = listItems.get(i);
String url = (String) map.get("avatar");
HttpGet httpGet = new HttpGet("");
應該是HttpGet httpGet = new HttpGet(url) ;吧?
你的url都沒傳遞正確。當然拿不到啊
E. net.sf.json.JSONObject與Android自帶的JSON解析類沖突怎麼辦
在Android中,由於類名相同,可能造成沖突,解決方案:
盡量使用同一個庫下的JSON解析工具。
如果類型相同,但是包名不同,建議使用完整的包名+類名定義變數,例如java中,java.sql.Date和java.uitl.Date兩個都是Date類,但是怎麼區分呢,就可以通過包名+類名來區分:
java.sql.Date date1 = new java.sql.Date();
java uitl.Date date2 = new java.uitl.Date();
JSONObject也一樣,可以使用這種方式。
Android中,json的解析,建議使用google提供的Gson這個開源庫,json的解析或者對象與json轉換,只需要一行代碼。
Gson gson = new Gson();
gson.toJson(object); gson.fromJson(json.Object.class);
F. Android開發中JSONObject問題
試試把你的這個字元串復制到notepad++裡面,看是不是有隱藏的字元沒有顯示出來,或者試試:
newJSONObject(json.substring(json.indexOf("{"),json.lastIndexOf("}")+1));
G. android怎麼遍歷jsonobject
android 讀取json數據(遍歷JSONObject和JSONArray)
•public String getJson(){
• String jsonString = "{\"FLAG\":\"flag\",\"MESSAGE\":\"SUCCESS\",\"name\":[{\"name\":\"jack\"},{\"name\":\"lucy\"}]}";//json字元串
• try {
• JSONObject result = new JSONObject(jsonstring);//轉換為JSONObject
• int num = result.length();
• JSONArray nameList = result.getJSONArray("name");//獲取JSONArray
• int length = nameList.length();
• String aa = "";
• for(int i = 0; i < length; i++){//遍歷JSONArray
• Log.d("debugTest",Integer.toString(i));
• JSONObject oj = nameList.getJSONObject(i);
• aa = aa + oj.getString("name")+"|";
•
• }
• Iterator<?> it = result.keys();
• String aa2 = "";
• String bb2 = null;
• while(it.hasNext()){//遍歷JSONObject
• bb2 = (String) it.next().toString();
• aa2 = aa2 + result.getString(bb2);
•
• }
• return aa;
• } catch (JSONException e) {
• throw new RuntimeException(e);
• }
• }
H. jsonobject怎麼定義枚舉android
@JsonValue
public Map<String, Object> toMap() {
Map<String, Object> map = new HashMap<>();
map.put("name", getName());
map.put("code", getCode());
return map;
}
I. android 使用JSONObject 數組報錯, NullPointerException
錯誤是指MainActivity的第85行,你看下你代碼,如果解析出來的一個類為空,這個類在使用的時候就會報空指針,你加個非空判斷。
另外,你用的是eclipse么,如果是Android studio的話,你引入個gson或者fastjson依賴,一句話就解析完成了;還有個插件,GsonFormat,直接把JSON完整的粘貼到裡面,自動生成實體類
J. jsonobject解析 跪求解答java、android
jsonObject jsonobject=new jsonObject(str);//str表示你取到的內容
String name=jsonobject.getstring("name");
jsonObject jsonobject1=jsonobject.getjsonObject("data");
jsonObject jsonobject[]=new jsonObject[11]
List<String > listname=new ArrayList<String>();
for(int i=7;i<=17;i++){
if(jsonobject.has(""+i)){
jsonObject jsonobject[i-7]=jsonoject1.getjsonObject(""+i);
String ctiyname=jsonobject[i-7].getString("name");
listname.add(cityname);
}
}