加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

jsonObject对象与本地自定义对象相互转化

发布时间:2020-12-16 19:19:12 所属栏目:百科 来源:网络整理
导读:很多应用程序都设计客户端与服务器段的数据传输。现在比较流行的是以Json格式传输。但是JsonObject对象在本地处理比较麻烦,一个比较好的方法是与服务器进行数据交互时将自定义对象转化为JsonObject对象再进行传输。客户端接受到服务器的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 = jobj.getInt(Constants.SENDER);
  				receiverId = jobj.getInt(Constants.RECEIVER);
  				messageString = jobj.getString(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 type=message.type;
  		if(type.equals(Constants.CHAT_MESSAGE))
  		{  
  			ChatContentMessage chatContentMessage=(ChatContentMessage)message;
  			jsonObject.put(Constants.TYPE,chatContentMessage.type);
  			jsonObject.put(Constants.SENDER,chatContentMessage.senderId);
  			jsonObject.put(Constants.RECEIVER,chatContentMessage.receiverId);
  			jsonObject.put(Constants.MESSAGE_CONTENT,chatContentMessage.msg);
  			jsonObject.put(Constants.SEND_TIME,chatContentMessage.time);
  		}
  		return jsonObject.toString();
  	}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读