2014-02-10 2 views
1

Мне нужно сериализовать некоторые объекты, связанные с WebRTC, чтобы отправить их по сигнальному каналу. В качестве примера я должен кодировать RtcSessionDescription и RtcIceCandidate экземпляров. Оба класса предлагают конструктор для их создания в контексте данной карты, но никто не предлагает метод создания такой Карты из исходного объекта.объект де/сериализация с использованием dart

Как я могу генерировать строки? Нужно ли мне объезжать объекты Map?

Как пример:

RtcSessionDescription -> Карта -> String - (send_over_signalingChannel) -> String -> Карта -> RtcSessionDescription

+0

возможно дубликат [Могу ли я автоматически сериализовать объект Dart, чтобы отправить через веб Разъем?] (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); 
Смежные вопросы