Quando si utilizza ASN.1 è preferibile utilizzare JSON? Quali sono alcuni vantaggi e svantaggi di entrambi gli approcci?ASN.1 vs JSON quando è opportuno utilizzarli?
risposta
ASN.1 e JSON non sono strettamente confrontabili. JSON è un formato dati. ASN.1 è un linguaggio di schema più insiemi multipli di regole di codifica, ognuno dei quali produce formati di dati diversi per un dato schema. Quindi, la domanda originale è in qualche modo parallela alla domanda "XML Schema vs. XML: quando è appropriato usarli?" Un confronto più equo sarebbe tra ASN.1 e JSON Schema.
Detto questo, alcuni punti da considerare:
- ASN.1 ha regole di codifica binaria. Considerare se la codifica binaria o di testo sia preferibile per la propria applicazione.
- ASN.1 ha anche regole di codifica XML. Puoi scegliere di utilizzare una codifica basata su testo utilizzando ASN.1, se lo desideri.
- ASN.1 consente di sviluppare altre regole di codifica. In effetti, abbiamo specificato le nostre regole (non standardizzate) per codificare ASN.1 in JSON. Ho parlato di questo sul nostro sito aziendale here
- Come con lo schema XML, esistono strumenti per la compilazione di ASN.1. Questi sono comunemente indicati come strumenti di associazione dei dati. L'output del compilatore è costituito da strutture dati per contenere i dati e codice per la codifica/decodifica da/verso le varie codifiche (binario, XML o, se si utilizza il nostro strumento, JSON).
- Non sono sicuro di quali strumenti di associazione dati esistano per JSON Schema. Non sono nemmeno sicuro di quanto sia maturo/stabile lo schema JSON, mentre ASN.1 è piuttosto maturo e stabile.
- Scegliendo JSON Schema e ASN.1, si noti che JSON Schema è associato a JSON, mentre ASN.1 non è associato a nessuna rappresentazione particolare.
È possibile utilizzare ASN.1 indipendentemente dal fatto che sia necessario serializzare i messaggi che potrebbero essere inviati a un destinatario utilizzando C, C++, C#, Java o qualsiasi altro linguaggio di programmazione con il motore di codifica/codificatore ASN.1. ASN.1 fornisce anche più regole di codifica che hanno vantaggi in circostanze diverse. Ad esempio, DER viene utilizzato quando una codifica canonica è cruciale, come nei certificati digitali, mentre PER viene utilizzato quando la larghezza di banda è critica come nei protocolli cellulari ed E-XER viene utilizzato quando non ti interessa la larghezza di banda e vorrebbero per visualizzare una codifica in XML per manipolazione in un browser o per scambiare messaggi con un motore di schema XML.
Si noti che con un buon strumento ASN.1, non è necessario modificare il codice dell'applicazione per passare da queste regole di codifica ASN.1. Una semplice chiamata di funzione può selezionare le regole di codifica che si desidera utilizzare.
- 1. Compilatore Java ASN.1
- 2. Quando è opportuno utilizzare l'FTP?
- 3. Quando è opportuno utilizzare NOLOCK?
- 4. Tutorial di programmazione OpenSSL ASN.1
- 5. Quando è opportuno utilizzare l'attributo KnownType?
- 6. Android: quando è opportuno utilizzare FragmentTransaction.remove?
- 7. Quando è opportuno utilizzare variabili finali vuote?
- 8. Analisi di dati binari ASN.1 con Java
- 9. Decodifica di un DER OCTET STRING ASN.1 con OpenSSL
- 10. quando utilizzare throw/1 vs. exit/1 vs. error/1 in Erlang?
- 11. Quando è opportuno utilizzare i processori di contesto Django?
- 12. Quando è opportuno utilizzare le funzioni annidate in Python?
- 13. Quando è opportuno utilizzare i codici di errore?
- 14. NSAutoreleasePool. Quando è opportuno creare un nuovo pool di autorelease?
- 15. Quando è opportuno mappare un DTO alla controparte Entity
- 16. Quando è opportuno utilizzare UUID per un progetto Web?
- 17. ViewBag, ViewData, TempData, Session: come e quando utilizzarli?
- 18. TypeError: b'1 'non è serializzabile JSON
- 19. MAX vs Top 1 - che è meglio?
- 20. EXIT_FAILURE vs exit (1)?
- 21. Quando è opportuno utilizzare un EAR e quando dovrebbero essere le tue app in WAR?
- 22. Count (*) vs Count (1)
- 23. Selenium 1 vs 2
- 24. SwitchToThread vs Sleep (1)
- 25. HashCode vs SHA-1
- 26. Cosa è asincrono e attendi e quando vorresti utilizzarli nello sviluppo di Windows?
- 27. oggetti javascript vs matrici vs JSON
- 28. MySQL vs. JSON - Perché?
- 29. python eval vs ast.literal_eval vs JSON decode
- 30. Verificare una firma DSA in C# che utilizza il formato ASN.1 codificato BER/DER
Che cosa ha a che fare Java con JSON? –
La mia comprensione è che per JSON si intendeva JavaScript Object Notation. Mi stai dicendo che questo non ha nulla a che fare con Java anche se Java è parte del suo nome? –
Ciò è corretto Java non ha nulla a che fare con JSON. – megazord