jsonObject对象与本地⾃定义对象相互转化
很多应⽤程序都设计客户端与服务器段的数据传输。现在⽐较流⾏的是以Json格式传输。但是JsonObject对象在本地处理⽐较⿇烦,⼀个⽐较好的⽅法是与服务器进⾏数据交互时将⾃定义对象转化为JsonObject对象再进⾏传输。客户端接受到服务器的jsonObject 数据时将其解析为本地⾃定义对象再对其进⾏处理,这样也⽐较符合⾯向对象统⼀编程的思想。
  /**
    * 从将JSONObject数据转化为Message对象并返回
    *
    * @param jobj
    *            待转换的JSONObject对象
    * @return 转换后的Messageclass对象
    */
  public static Message castJsonToMessage(JSONObject jobj) {
    String typeString = "",  sendTimeString = "";
    int senderId = -1, receiverId= -1;
    String messageString = "";
    try {
      senderId = Int(Constants.SENDER);
      receiverId = Int(Constants.RECEIVER);
      messageString = String(Constants.MESSAGE_CONTENT);
    } catch (JSONException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    ChatContentMessage chatContentMessage =new ChatContentMessage(typeString, senderId, receiverId,
      messageString, sendTimeString);
    return chatContentMessage;
    }
  /**
    * 将Message类对象转化为JSONObject并以字符串形式返回便于SOCKET发送
    *
    * @param message
    *            待转换的消息对象
    * @return
    * @throws JSONException
    */
  public static String castMessageclassToJsonStr(Message message)
    throws JSONException {
    JSONObject jsonObject = new JSONObject();
    String pe;
    if(type.equals(Constants.CHAT_MESSAGE))
    {
    ChatContentMessage chatContentMessage=(ChatContentMessage)message;
    jsonObject.put(Constants.TYPE, pe);
    jsonObject.put(Constants.SENDER, chatContentMessage.senderId);
object to    jsonObject.put(Constants.iverId);
    jsonObject.put(Constants.MESSAGE_CONTENT, chatContentMessage.msg);
    jsonObject.put(Constants.SEND_TIME, chatContentMessage.time);
    }
    String();
  }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。