解决方案 »

  1.   

    JSONObject obj = new JSONObject(string);
    String name = obj.getString("Name");
    int age = obj.getInt("Age");
    String birthday = obj.getString("Birthday");就这样啊,很简单,你怎么读取的??
      

  2.   

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

  3.   

    //这是我昨天写的
    /*Gson gson = new Gson();
    // User user = gson.fromJson(txtAddress, User.class);
    //System.out.println();是不是我这种方法是错的!这样user 的值为null,以前用这个都没有出现过这情况,不着道是怎么回事!这是user类public class User {
    private String name;
        private int age;
        private String birthday;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }
    public String getBirthday() {
    return birthday;
    }
    public void setBirthday(String birthday) {
    this.birthday = birthday;
    }
        
        
    }
    还有一个是这样的!
    import com.google.gson.Gson;/**
     * 利用Gson对数据进行解析
     * @author v-shangyf
     *
     */
    public class ParseJsonUtils {
    /**
     * Gson解析
     */
    public static <T>T parseByGson(String json,Class<T> t) throws Exception{
    Gson gson = new Gson();
    return gson.fromJson(json, t);
    }}
    //User user = ParseJsonUtils.parseByGson(txtAddress, User.class);
    // System.out.println(user);
    这样也是空,这两个是一样的,不知道是那里出了问题,封装好的也这样!
      

  4.   

    你定义的类的成员变量的名字要和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());
      

  5.   

    我就是这样写的,但是连User都得不到!
      

  6.   


    这样有用吗?
    变量名的首字母是小写的啊!不能大写!
    你名字大小不一样gson怎么解析?!! 变量首字母不能大写只是代码规范,不是程序语法
    写了个java demo http://download.csdn.net/detail/s715575807/8072553