Ich habe folgende JSON-DateiAbrufen von JSON Elemente in Swift 3
{
"events": [
{
"date": "01/11/2017",
"name": [
"Tulsi Vivah",
"Pradosh Vrat"
],
"photo": [
"photo_chaturthi",
"photo_ekadashi"
]
},
{
"date": "03/11/2017",
"name": [
"Guru Nanak Jayanti"
],
"photo": [
"photo_chaturthi",
"photo_ekadashi"
]
}
]
}
Ich möchte diese analysieren und die Elemente in der objectArray im Code setzen unter:
struct Objects {
var sectionName : String!
var sectionObjects : [String]!
var sectionImages : [String]!
}
var objectArray = [Objects]()
Ich habe folgenden Code geschrieben zum lesen der Datei:
if let file = Bundle.main.url(forResource: "EventsEnglish112017", withExtension: "json") {
let data = try Data(contentsOf: file)
let json = try JSONSerialization.jsonObject(with: data as Data, options: [])
Meine Frage ist, wie kann ich „json“ typisierte die einzelne Elemente lesen Sie das abo füllen ve objectArray
.
Danke!
Es gibt mehrere Tools, die Sie verwenden können, es ist nicht notwendig, es von Hand zu tun - obwohl Sie können, wenn Sie möchten. Sehen Sie sich zum Beispiel [Object Mapper] (https://github.com/Hearst-DD/ObjectMapper) oder [SwiftyJSON] (https://github.com/SwiftyJSON/SwiftyJSON) an. – Losiowaty
Deklarieren Sie Ihre structs-Eigenschaften nicht implizit unwrapped optionals, nur um herum zu schaffen, einen Initialisierer (den der Compiler automatisch für Strukturen tun kann). Aus dem Code in Ihrer Frage, sehe ich keinen Grund für eine der Eigenschaften implizit unverpackte Optionals überhaupt sein ... –
Bearbeitet für swift 3. Probieren Sie es aus, es wird Ihnen auf jeden Fall helfen und mich informieren, wenn es immer noch Probleme gibt. Viel Glück –