2014-02-10 33 views
1

我必須序列化一些WebRTC相關的飛鏢對象,通過信令通道發送它們。作爲例子,我必須編碼RtcSessionDescriptionRtcIceCandidate實例。這兩個類都提供了一個構造函數來在給定地圖的上下文中構建它們,但是沒有人提供從原始對象中創建這樣一個Map的方法。使用飛鏢的對象刪除/序列化

如何生成字符串?我必須繞過地圖對象嗎?

如實施例:

RtcSessionDescription - >地圖 - >字符串 - (send_over_signalingChannel) - >字符串 - >地圖 - > RtcSessionDescription

+0

可能重複發送了一個Web插座?](http://stackoverflow.com/questions/18423318/can-i-automatically-serialize-a-dart-object-to-send-over-a-web-socket) –

回答

1

最後,我找到了解決方案(使用dart:convert爲半滑舌鰨Zöchbauer建議):

RtcSessionDescription original = ...; 

//serialize 
final String serialized_sdp = JSON.encode({ 
    'sdp':original.sdp, 
    'type':original.type 
}); 


//decode 
final Map sdp_map = JSON.decode(serialized_sdp);  
RtcSessionDescription sdp = new RtcSessionDescription(sdp_map); 
的[我可以自動序列化飛鏢對象