Kiedy używasz ASN.1 lepiej niż JSON? Jakie są zalety i wady obu podejść?ASN.1 vs JSON, kiedy jest odpowiedni do ich użycia?
Odpowiedz
ASN.1 i JSON nie są ściśle porównywalne. JSON to format danych. ASN.1 jest językiem schematu oraz wieloma zestawami reguł kodowania, z których każdy wytwarza różne formaty danych dla danego schematu. Tak więc pierwotne pytanie nieco przypomina pytanie "Schemat XML a XML: kiedy jest właściwe, aby z nich korzystać?" Bardziej sprawiedliwe porównanie dotyczyłoby schematu ASN.1 i JSON.
Powiedział, że kilka punktów do rozważenia:
- ASN.1 ma binarnych reguł kodowania. Zastanów się, czy kodowanie binarne lub tekstowe jest lepsze dla twojej aplikacji.
- ASN.1 ma również reguły kodowania XML. Możesz zdecydować się na kodowanie tekstowe za pomocą ASN.1, jeśli chcesz.
- ASN.1 pozwala opracować inne reguły kodowania. W rzeczywistości określiliśmy własne (niestandardowe) reguły do kodowania ASN.1 do JSON. Blogowałem o tym na naszej stronie firmy here
- Podobnie jak w przypadku schematu XML, istnieją narzędzia do kompilowania ASN.1. Są one powszechnie nazywane narzędziami do wiązania danych. Dane wyjściowe kompilatora składają się ze struktur danych do przechowywania danych oraz kodu do kodowania/dekodowania do/z różnych kodowań (binarnych, XML lub, jeśli korzystamy z naszego narzędzia, JSON).
- Nie jestem pewien, jakie istnieją, jeśli istnieją, narzędzia wiążące dane dla JSON Schema. Nie jestem również pewien, jak dojrzały/stabilny jest schemat JSON, podczas gdy ASN.1 jest dość dojrzały i stabilny.
- Wybierając schemat JSON i ASN.1, zwróć uwagę, że schemat JSON jest powiązany z JSON, a ASN.1 nie jest związany z żadną konkretną reprezentacją.
Możesz używać ASN.1 niezależnie od tego, czy chcesz serializować wiadomości, które mogą trafić do odbiorcy za pomocą C, C++, C#, Java, lub dowolnego innego języka programowania z silnikiem kodera/dekodera ASN.1. ASN.1 zapewnia także wiele reguł kodowania, które mają zalety w różnych okolicznościach. Na przykład DER jest używany, gdy kluczowe znaczenie ma kodowanie kanoniczne, na przykład w certyfikatach cyfrowych, a PER jest używany, gdy przepustowość jest krytyczna, na przykład w protokołach komórkowych, a E-XER jest używany, gdy nie zależy Ci na przepustowości i chciałbyś aby wyświetlić kodowanie w języku XML w celu manipulowania w przeglądarce lub wymiany wiadomości za pomocą mechanizmu XML Schema.
Należy pamiętać, że przy użyciu dobrego narzędzia ASN.1 nie trzeba zmieniać kodu aplikacji, aby przełączać się pomiędzy tymi regułami kodowania ASN.1. Proste wywołanie funkcji może wybrać reguły kodowania, których chcesz użyć.
- 1. Samouczek programowania OpenSSL ASN.1
- 2. Czy Apache Kafka jest odpowiedni do użycia jako kolejka zadań?
- 3. Jak przeanalizować ASN.1 z Haskellem?
- 4. muszę przykład zrozumieć niejawnej tagowanie ASN.1
- 5. Jak Google Protocol Buffers porównuje się do ASN.1
- 6. Domena vs DTO a ViewModel - jak i kiedy ich używać?
- 7. "SELECT TOP 1 1" VS "JEŚLI JEST ISTNIEJE (WYBIERZ 1"
- 8. Kiedy używać relacji 1-do-1 między tabelami bazy danych?
- 9. Jaki jest cel użycia WHERE 1 = 1 w instrukcjach SQL?
- 10. Przypadki użycia hstore vs json typy danych w postgresql
- 11. Co to są podzielniki i kiedy ich użycie jest konieczne?
- 12. SPDY + Nginx - Wskazany do użycia, kiedy tylko jest to możliwe?
- 13. Instrukcja "Kiedy" vs Java "switch"
- 14. Czy używanie wyjątków przez Ogre jest dobrym sposobem ich użycia?
- 15. Który wzór jest najbardziej odpowiedni?
- 16. cpu vs gpu - kiedy procesor jest lepszy
- 17. Włącz usługę WCF do użycia z JSON
- 18. ListView vs. ListBox dla wielokrotnego użycia kolumny
- 19. TypeError: b'1 'nie jest serializowany JSON
- 20. MAX vs Top 1 - co jest lepsze?
- 21. Kiedy używać HtmlControls vs WebControls
- 22. .increment vs + = 1
- 23. SNMP: ASN.1 MIB Definicje. Odwoływanie się do tabeli w tabeli
- 24. Array rozmiar 1 vs. wskaźnik do struct
- 25. Obiekty javascript vs tablice vs JSON
- 26. SqlConnection vs Sql Session. Czy ich życie jest zbieżne?
- 27. Dobra wtyczka do paginacji jQuery do użycia z danymi JSON
- 28. wydajność między varchar (1) vs char (1)
- 29. Kiedy używać SQLITE_TRANSIENT vs SQLITE_STATIC?
- 30. Kiedy używasz map vs flatMap w RxJava?
Co Java ma wspólnego z JSON? –
Rozumiem, że JSON miał na myśli JavaScript Object Notation. Czy mówisz mi, że to nie ma nic wspólnego z Javą, mimo że Java jest częścią jej nazwy? –
To prawda, Java nie ma nic wspólnego z JSON. – megazord