解决方案 »
- mono for android 问题
- 怎么获取android系统服务,如Uri,intent参数等,或者说去哪里查看
- 请教 android EditText设置行间距后字符怎么不居中显示了
- G00GLE MAP API V3 Android教程
- imagebutton 问题
- Android系统如何实现联系人分组?
- 请问,如何通过usb线将android手机和PC相连,并且可以相互通信。
- webapp如果禁止链接长按
- 如何在ActivityGroup的子activity中将ActivityGroup设置为全屏??
- 为什么取不到传感 器的列表,?
- android socket通信调试时可用,发布到服务器出错
- 请问如何停止socket通信进程?
String size = obj.optString("size");
JSONArray array = new JSONArray(obj.optString("array"));
for(int i = 0 ;i < array.length() ; i++){
JSONObject objs = new JSONObject(array.getJSONObject(i));
String uid = objs.optString("uid");
.....;
}
private int size; public List<B> getArray() {
return array;
} public void setArray(List<B> array) {
this.array = array;
} public int getSize() {
return size;
} public void setSize(int size) {
this.size = size;
}}package com.devil.pojo;public class B { private String UID;
private String IP; public String getUID() {
return UID;
} public void setUID(String uID) {
UID = uID;
} public String getIP() {
return IP;
} public void setIP(String iP) {
IP = iP;
}}private void T() {
String json = "{'array':[{'UID':'LACA6C0284SGCM8','IP':'192.168.1.112'},{'UID':'LACA6C0284UMFKY','IP':'192.168.1.127'},{'UID':'LACA6C0284KCXNU','IP':'192.168.1.106'}],'size':3}";
A a = JsonUtil.parse(json, A.class);
for (B b : a.getArray()) {
Log.e("DEVIL", b.getUID() + " " + b.getIP());
}
}
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284SGCM8 192.168.1.112
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284UMFKY 192.168.1.127
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284KCXNU 192.168.1.106 /**
* 将json字符串转换成对象
*
* @param json
* @param type
* @return
*/
public static <T> T parse(String json, Class<T> type) {
Gson gson = new Gson();
T t = null;
try {
t = gson.fromJson(json, type);
} catch (Exception e) {
e.printStackTrace();
return null;
} return t;
}
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
try {
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray = jsonObject.getJSONArray(key);
for(int i = 0; i < jsonArray.length(); i++){
JSONObject jsonObject2 = jsonArray.getJSONObject(i);
Map<String, Object> map = new HashMap<String, Object>();
// 通过org.json中的迭代器来取Map中的值。
Iterator<String> iterator = jsonObject2.keys();
while(iterator.hasNext()) {
String jsonKey = iterator.next();
Object jsonValue = jsonObject2.get(jsonKey);
//JSON的值是可以为空的,所以我们也需要对JSON的空值可能性进行判断。
if(jsonValue == null){
jsonValue = "";
}
map.put(jsonKey, jsonValue);
}
listMap.add(map);
}
} catch (Exception e) {
// TODO: handle exception
}
return listMap;
}
t = gson.fromJson(json, type);为什么这个老是得到空值,有没遇到过?
{
List<Bean> list = null;
Bean bean = null;
try {
JSONObject jsonObject = new JSONObject(jsonStr);
JSONArray jArray = jsonObject.getJSONArray("array");
//JSONArray jArray = (JSONArray) jsonObject.get("array");
list = new ArrayList<Bean>();
for (int i = 0; i < jArray.length(); i++) {
bean = new Bean();
JSONObject jsonObject2 = (JSONObject)jArray.get(i);
bean.setuId(jsonObject2.getString("UID"));
bean.setIp(jsonObject2.getString("IP"));
list.add(bean);
}
bean.setSize(jsonObject.getInt("size"));
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}