Czy istnieje sposób na serializację słownika za pomocą buforów protokołu, czy będę musiał użyć Thrift, jeśli będę tego potrzebować?Słownik w buforach protokołów
Odpowiedz
Ludzie zazwyczaj zapisują słownik jako listę par klucz-wartość, a następnie odbudowują słownik po drugiej stronie.
message Pair {
optional string key = 1;
optional string value = 2;
}
message Dictionary {
repeated Pair pairs = 1;
}
Czy istnieje sposób na zrobienie tego samego z dynamicznym typem? Mam 'Dictionary
Cóż, nie. Protobuf nie jest ogólnym protokołem serializacji obiektów. Musisz zdefiniować komunikaty protobuf dla wszystkich danych, które chcesz serializować. (Szczerze mówiąc, jeśli masz
@Mike Musisz utworzyć pole dla każdego typu * może to być * * * * * to błąd, który tylko czeka na zdarzyć. –
Możesz sprawdzić pakiet ProtoText.
Załóżmy, że chcesz przekształcić kod w dyktafon person_dict
w predefiniowany obiekt PersonBuf
protobuf zdefiniowany w module .
W tym przypadku, aby korzystać ProtoText,
import ProtoText
from personbuf_pb2 import PersonBuf
obj = PersonBuf()
obj.update(person_dict)
Dla przyszłych poszukujących odpowiedzi, ProtoBuf now supports Maps natywnie:
message MapMessage
{
map<string, string> MyMap = 1;
}
Należy pamiętać, że Mapy nadal nie mogą się powtarzać. – mattes
- 1. Kara za wydajność funkcji getSerializedSize() w buforach protokołów
- 2. Komunikaty o buforach protokołów za pośrednictwem Akka IO i gniazd
- 3. Dziedziczenie protokołów + delegaci w Swift
- 4. Przedłużanie buforów protokołów w Javie
- 5. Bufory protokołów z JPA
- 6. Zachowanie protokołów z Self
- 7. Automatyczna obsługa protokołów discovery
- 8. const Słownik w C#
- 9. słownik w Django szablonu
- 10. Jak dołączyć bufory protokołów w Swift?
- 11. Swift rzutowanie w dół i protokołów zmienne
- 12. Korzystanie z Google "Bufory protokołów" w Arduino
- 13. Instalowanie buforów protokołów w systemie Windows
- 14. Boost.Asio z buforami protokołów google
- 15. Monitorowanie protokołów protokołu drutu JSON
- 16. Scala Akka i bufory protokołów
- 17. Jakieś doświadczenia z buforami protokołów?
- 18. Odniesienie do wszystkich protokołów Swift?
- 19. HttpClient obsługujący wiele protokołów TLS
- 20. Bufory protokołów Google i HTTP
- 21. Swift przechowywania rozszerzenie dla protokołów
- 22. Słownik dwukierunkowy?
- 23. Słownik wielowartościowy
- 24. Zagnieżdżony słownik
- 25. Vim - Jak uruchomić polecenie trybu normalnego we wszystkich buforach?
- 26. Słownik znaczników w deklaratywnym SQLAlchemy?
- 27. Równoczesny słownik w języku C#
- 28. słownik struktura danych w R
- 29. Słownik z kluczami w Unicode
- 30. Jak odwrócić słownik w Julia?
powielać http://stackoverflow.com/questions/3874024/how-does- protobuf-net-support-for-dictionary-keyvaluepair-works –
Niezupełnie duplikat. To pytanie dotyczyło wiązań .net. OP nie określa środowiska językowego. – JesperE