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);
}
}