Je suis en train de représenter une structure JSON dans rapide pour une utilisation avec EVReflection. La chaîne ressemble à ceci:Comment représenter les types de tableaux imbriqués pour EVReflection
{
"date": 2457389.3333330001,
"results":
{
"sun": [[559285.95145709824, 202871.33591198301, 61656.198554897906], [127.6163120820332, 948.44727756795123, 406.68471093096883]],
... etc ...
"geomoon": [[-401458.60657087743, -43744.769596474769, -11058.709613333322], [8433.3114508170656, -78837.790870237863, -26279.67592282737]]
},
"unit": "km"
}
J'ai essayé plusieurs approches pour modéliser les « résultats » interne du dictionnaire, qui est calée avec une chaîne et a toujours des valeurs qui sont un ensemble de deux éléments, dont chacun ont trois doubles (c.-à-d., [String: [[Double]]]
est un modèle que j'ai essayé). Peu importe ce que je fais, je reçois une erreur le long de ces lignes:
ERROR: valueForAny unkown type , type _NativeDictionaryStorage<String, Array<Array<Double>>>. Could not happen unless there will be a new type in Swift.
Quelqu'un at-il une idée comment modéliser ce si EVReflection est heureux? J'ai aussi eu le sentiment de l'expression Could not happen unless there will be a new type in Swift
qu'il existe une autre méthode ou une modélisation différente avec des sous-types explicites que je peux ajouter qui lui donnerait ce dont elle a besoin, mais je ne peux pas expliquer ce qu'il faut faire des docs.
Malheureusement, les touches précises qui seront retournés dans « résultats » sont variables, et donc je ne peux pas construire une structure de résultats imbriqué comme vous le suggérez - je besoin que d'être un ensemble indéfini de [chaîne: [[valeur ]] éléments du dictionnaire. Mon seul espoir est-il de les lister tous comme optionnels? – Feldur
Je pense que vous pouvez résoudre ce avec le truc que je l'ai fait ici: https://github.com/evermeer/EVWordPressAPI/blob/master/EVWordPressAPI/EVWordpressData.swift#L332 Utilisez le forUndefinedKey setValue afin que vous serez en mesure de capturer toutes les 'propriétés' sans qu'elles soient une propriété réelle, puis définissez les données dans un dictionnaire local. Je vais le faire pour vous plus tard ... –
Prometteur. Ensuite, je m'attends à ce que vous me disiez que vous avez tout ce qui fonctionne par l'intermédiaire d'un terrain de jeu et que je (qui ne peut pas faire fonctionner les importations) vous saluera! – Feldur