{"Name":"aa","Age":19,"Birthday":"\/Date(642700800000)\/"}
这个json 数据怎么解析成一个实体类,分别是Name、Age、Birthday 上面的data是时间戳,我解析出来的全是空,不知道怎么回事?求教大神帮我解析一下!
------解决思路----------------------
JSONObject obj = new JSONObject(string);
String name = obj.getString("Name");
int age = obj.getInt("Age");
String birthday = obj.getString("Birthday");
就这样啊,很简单,你怎么读取的??
------解决思路----------------------
String jsonStr = "{\"Name\":\"aa\",\"Age\":19,\"Birthday\":\"\/Date(642700800000)\/\"}"
JSONObject jsonObj = new JSONObject(json);
String name = jsonObj.getString("Name");
....省略
下面是我写的一个Json解析的方法,你看看
/**
* 将http服务器返回的Json数据解析从可以绑定到SimpleAdapter上的集合对象
* @param json
* @return
*/
public static List<HashMap<String, Object>> parseJson(String json){
JSONObject jsonObj = null;
try{
jsonObj = new JSONObject(json);
JSONArray jsonData = jsonObj.getJSONArray("roomlistdata");
List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();
for(int i = 0; i < jsonData.length(); i++){
JSONObject jsonItem = jsonData.getJSONObject(i);
HashMap<String, Object> roomInfo = new HashMap<String, Object>();
roomInfo.put("id", jsonItem.getString("id"));
roomInfo.put("roomnum", jsonItem.getString("roomnum"));
roomInfo.put("hallnum", jsonItem.getString("hallnum"));
roomInfo.put("name", jsonItem.getString("name"));
roomInfo.put("peonum", jsonItem.getString("peonum") + "/2");
roomInfo.put("roomstate", jsonItem.getString("roomstate").equals("0")?"空闲":"游戏中");
data.add(roomInfo);
}
return data;
}catch(JSONException e){
throw new RuntimeException("解析服务器Json数据错误");
}
return null;
}
------解决思路----------------------
好像不是复杂的样子,怎么搞的跟复杂的一样
------解决思路----------------------
你定义的类的成员变量的名字要和json对应比如:private String Name;
String jsonStr = "{\"Name\":\"aa\",\"Age\":19,\"Birthday\":\"Date(642700800000)\"}";
Gson gson = new Gson();
User user = (User) gson.fromJson(jsonStr, User.class);
System.out.println(user.getName());
------解决思路----------------------
你名字大小不一样gson怎么解析?!! 变量首字母不能大写只是代码规范,不是程序语法
写了个java demo http://download.csdn.net/detail/s715575807/8072553