前陣子寫聊天室來玩,有小玩一下
我是用Gson搭配跟訊息的類別,不過屬性一多,還是會很不好設計該類別拉...
--
while (socket.isConnected()) {
// 取得網路串流的訊息
String msg = br.readLine();
System.out.println(msg);
//JSON格式的字串,要重新編譯後廣播出去,Json格式
jsonMsg(msg);
}
public static void jsonMsg(String Msg) {
try {
// 創造網路輸出串流
BufferedWriter bw;
bw = new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream()));
Gson gson = new Gson();
Message message = gson.fromJson(Msg, Message.class);
// 寫入訊息到串流
bw.write(message.getName() + ":" + message.getMsg() + "\t\t"
+ message.getTime() + "\n");
} catch (IOException e) {
}
}
}
----
我把GSON轉成字串指定UTF8格式後,我在利用GSON轉換成我Message類別的屬性
這樣寫應該可以少寫很多if else了吧∼
---
Message message = gson.fromJson(Msg, Message.class);
不過應該也可以這樣寫~
Message message = (new Gson()).fromJson(Msg, Message.class);
---
指定轉換成我要的類別~好用在這一行,哈...當參考用吧