Sapete dirmi perché la libreria viene visualizzata solo tra i russi?
. Penso che così è improbabile che venga notata e possa essere utilizzata, anche se credo che sarebbe molto comodo per generare dati per le query di rete.
- www.mql5.com
Non ho guardato la vostra implementazione perché uso jAson. Ci sono dei vantaggi nella vostra implementazione? Può fare un confronto?
1. Dimensioni, 20kb contro 30kb
2. Permette di lavorare in modo flessibile con qualsiasi struttura JSON
- Ci sono metodi per definire i tipi di valore, che permettono di gestire i casi in cui il valore può essere di tipi diversi
- Ci sono metodi per ottenere le chiavi degli oggetti, che permettono di gestire i casi in cui le chiavi non sono note in anticipo
- Interfaccia di libreria facile da usare, che rende il processo di riempimento della struttura JSON comodo e comprensibile.
3. Codicesorgente chiaro e leggibile
- Permette di comprendere facilmente il lavoro della libreria, rendendo trasparente il principio del suo funzionamento
- La struttura chiara della libreria consente di eseguire comodamente il debug delle richieste e delle risposte di rete
- Non utilizza l'overloading degli operatori, fornendo metodi con nomi chiari, rendendo il codice comprensibile a qualsiasi sviluppatore.
Sapete dirmi perché la libreria viene visualizzata solo tra i russi?
Penso che sia così improbabile che qualcuno la noti e la usi, anche se credo che sarebbe molto comodo per generare dati per le interrogazioni in rete.
Perché il codebase è fatto in questo modo (almeno per ora) - per impostazione predefinita il codice è garantito per essere registrato solo in una versione linguistica (si potrebbe anche fare nel ramo inglese), e il trasferimento ad altre lingue - solo in alcune condizioni (dovrebbe essere specificato - automaticamente per popolarità, per comando dei moderatori o in qualche altro modo).
Per quanto riguarda il tema json in sé, esiste anche un'implementazione minimalista di toyjson.mqh da algobook.
- www.mql5.com
1. Dimensioni, 20kb vs. 30kb
2. Permette di lavorare in modo flessibile con qualsiasi struttura JSON
- Esistono metodi per definire i tipi di valore, che permettono di gestire i casi in cui il valore può essere di tipi diversi
- Esistono metodi per ottenere le chiavi degli oggetti, che permettono di gestire i casi in cui le chiavi non sono note in anticipo
- Comoda interfaccia di libreria, che rende comodo e comprensibile riempire la struttura JSON.
3. Codicesorgente chiaro e leggibile
- Permette di comprendere facilmente il lavoro della libreria, rendendo trasparente il principio del suo funzionamento
- La struttura chiara della libreria consente di eseguire comodamente il debug delle richieste e delle risposte di rete
- Non utilizza l'overloading degli operatori, fornendo metodi con nomi chiari, rendendo il codice comprensibile a qualsiasi sviluppatore.
Qui ho anche deciso di vedere cosa significa " codice sorgente comprensibile e leggibile dall'uomo" :-)
cancellate il punto 3 - voi, come l'autore di jAson, non vi siete nemmeno preoccupati di scrivere commenti e documentazione. E con gli operatori è più comodo e chiaro per l'utente, quindi evitarli è più uno svantaggio che un vantaggio.
Poiché il codebase è fatto in questo modo (almeno per ora) - per impostazione predefinita il codice è garantito per essere registrato solo in una versione linguistica (si potrebbe anche fare nel ramo inglese), e il porting in altre lingue - solo a certe condizioni (dovrebbe essere specificato - automaticamente per popolarità, per comando dei moderatori o in qualche altro modo).
Per quanto riguarda il tema json in sé, esiste anche un'implementazione minimalista di toyjson.mqh da algobook.
Ho cercato, c'è davvero, credo anche una versione molto buona
Ma in ogni caso, penso che questa libreria troverà il suo pubblico, a cui piacerà l'interfaccia che ho implementato per usarla.
Sapete dirmi perché la libreria viene visualizzata solo tra i russi?
Penso che sia così improbabile che qualcuno la noti e la usi, anche se credo che sarebbe molto comodo per generare dati per le interrogazioni in rete.
Per rendere il tuo codice visibile al pubblico di lingua inglese, dovresti pubblicarlo su un forum inglese.
Andare sul forum inglese.

Andare al loro codobase.

Aggiungere il codice.

Ora, il codice da un segmento del forum non viene copiato automaticamente in un altro segmento, dovete farlo voi.
Ho usato JAson per molto tempo. Ora ho deciso di confrontare la velocità di 3 librerie, tra cui ToyJson3 del libro. Come esempio di json ho preso la risposta di Binance a "exchangeInfo" con una dimensione di 768 Kb. Viene analizzato nella sua interezza quando la libreria lo legge da una stringa, quindi seleziono un carattere e leggo tutti i suoi dati. Risultato:
JAson - 122 ms
ToyJson3 - 54 ms
json - 48 ms
Inoltre, json non ha solo la deserializzazione ma anche la serializzazione, ed è necessario per l'API dei futures di Binance. Non so se esista in altre librerie, è difficile analizzare i codici degli altri.
Ma non sono bravo con l'OOP e non capisco affatto questa costruzione:
JSON::Object* json1 = new JSON::Object() .setProperty("number", 123456) .setProperty("string", "text") .setProperty("boolean", true) .setProperty("object", new JSON::Object() .setProperty("number", 123456) .setProperty("string", "text") .setProperty("boolean", true) .setProperty("array", new JSON::Array()) ) .setProperty("array", new JSON::Array() .add(true) // booleano .add(123456) // numero .add("string") // stringa .add(new JSON::Object() .setProperty("number", 123456) .setProperty("string", "text") ) .add(new JSON::Array() .add(true) .add(123456) .add("string") ) ); string exampleText = json1.toString();
Non capisco affatto questa costruzione
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
JSON:
Serializzazione e deserializzazione del formato JSON
Author: Kuzma Shevelev