Я пытаюсь представить структуру JSON в swift для использования с EVReflection. Строка выглядит следующим образом:Как представить типы вложенных массивов для 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"
}
Я попробовал несколько подходов для моделирования внутренних «результатов» словарь, который отпирается строками и всегда имеет значение, массив из двух элементов, каждый из которых имеет три удвоения (т. е. [String: [[Double]]]
- это одна модель, которую я пробовал). Независимо от того, что я делаю, я получаю сообщение об ошибке по этим линиям:
ERROR: valueForAny unkown type , type _NativeDictionaryStorage<String, Array<Array<Double>>>. Could not happen unless there will be a new type in Swift.
Кто-нибудь есть идея, как эта модель так EVReflection счастлив? У меня также есть смысл от фразы Could not happen unless there will be a new type in Swift
, что есть другой метод или другое моделирование с явными подтипами, которые я могу добавить, которые дадут ему то, что ему нужно, но я не могу понять, что делать с документами.
К сожалению, точные ключи, которые будут возвращены в «результатах», являются переменными, поэтому я не могу построить вложенную структуру результатов, как вы предлагаете, - мне нужно, чтобы это был неопределенный набор из [string: [[value ]] словарных элементов. Моя единственная надежда перечислить их все как необязательные? – Feldur
Я думаю, вы могли бы решить это с помощью трюка, который я здесь сделал: https://github.com/evermeer/EVWordPressAPI/blob/master/EVWordPressAPI/EVWordpressData.swift#L332 Используйте setValue forUndefinedKey, чтобы вы могли захватить все «свойства» без их реального свойства, а затем задают данные в локальном словаре. Я буду работать для вас позже ... –
Перспективные. Затем я ожидаю, что вы скажете мне, что у вас есть все, что работает через детскую площадку, и я (кто не может заставить импорт работать) приветствует вас! – Feldur