Je veux définir formellement un schéma pour un protocole basé sur JSON. J'ai deux critères pour le schéma: 1. Je veux être en mesure d'utiliser des outils pour créer parser/sérialiseur (php et .net). 2. Résultat JSON doit être facile à lire humaineschéma JSON: permet de stocker des informations dans les clés
est ici le contexte. Le schéma décrira un personnage de jeu, à titre d'exemple, je vais prendre un aspect du profil - professions. Un personnage peut avoir jusqu'à 2 professions (dans une liste de 10), chaque profession est décrite par un nom et un niveau, par exemple:
dépecer - niveau 200 Forgeron - niveau 300
Pour satisfaire au critère # 1 ça aide vraiment d'avoir un schéma XSD (ou un schéma JSON) pour générer un générateur de code ou une librairie de parseurs. Mais cela signifie que mon JSON doit ressembler à:
character : {
professions : [
{ profession : "Skinning", level : 525 }
{ profession : "Blacksmith", level : 745 }
]
}
mais il se sent trop bavard, je préférerais avoir regarder JSON comme (notez que la profession est utilisé comme une clé):
character {
professions : {
"Skinning" : 525,
"Blacksmith" : 745
}
}
mais le dernier JSON ne peut pas être décrit avec XSD sans avoir à définir un élément pour chaque profession.
Je suis à la recherche d'une solution pour ma situation, voici les options que j'ai identifiés:
- taire et faire JSON XSD-friendly (premier extrait ci-dessus)
- taire et faire l'homme JSON -friendly et coder à la main l'analyseur/sérialiseur.
mais j'aimerais vraiment trouver une solution qui satisferait aux deux critères.
Note: Je suis conscient que la librairie JSON de Newton-King me permettrait d'analyser des professions en tant que dictionnaire - mais il faudrait que je code manuellement le type pour mapper ce JSON. Donc, jusqu'à présent, je me penche vers l'option # 2, mais je suis ouvert aux suggestions.