gpt4 book ai didi

ios JSON 映射对象

转载 作者:行者123 更新时间:2023-11-30 11:27:27 26 4
gpt4 key购买 nike

我正在使用 Swift 开发 iOS 应用程序。

我使用 RealmSwift、ObjectMapper 和 ObjectMapper_Realm 从 JSON 文件获取数据并将其保存在 Realm 中。到目前为止,它工作得很好,但是我得到了一个字符串数组,而没有在其他对象的同一级别提取 key ,我不知道该怎么做......

这是我的对象:

 "books": 
[
{
"id": 56436886,
"type": "Book",
"title": "Title of the book",
"authors": [
"Name FirstName",
]
}
]

这是我的映射类:

class Book: Object, Mappable {

// MARK: Declaration for string constants to be used to decode and also serialize.
private struct SerializationKeys {

static let id = "id"
static let type = "type"
static let title = "title"
static let authors = "authors"

}

// MARK: Properties
@objc dynamic var id: Int = 0
@objc dynamic var type: String?
@objc dynamic var title: String?
var authors = List<Author>()

// MARK: ObjectMapper Initializers
/// Map a JSON object to this class using ObjectMapper.
///
/// - parameter map: A mapping from ObjectMapper.
convenience required init?(map: Map) {
self.init()
}

// MARK: - Model meta informations
override class func primaryKey() -> String? {
return "id"
}

override class func ignoredProperties() -> [String] {
return []
}

/// Map a JSON object to this class using ObjectMapper.
///
/// - parameter map: A mapping from ObjectMapper.
public func mapping(map: Map) {

id <- map[SerializationKeys.id]
type <- map[SerializationKeys.type]
title <- map[SerializationKeys.title]
authors <- (map[SerializationKeys.authors], ListTransform<Author>())

}

}

这是我的作者类:

class Author: Object, Mappable {

@objc dynamic var authorName: String?

// MARK: - Model meta informations
override class func primaryKey() -> String? {
return "authorName"
}

convenience required init?(map: Map) {
self.init()
}

func mapping(map: Map) {
self.authorName <- map
}

}

我不知道如何在 Author 类中进行映射,因此当我获取 JSON 对象时,除了作者之外,我的所有书籍都会保存......

感谢您的帮助

最佳答案

您是否尝试过在不使用中间 Author 实体的情况下进行映射?字符串数组映射应该可以正常工作。查看https://github.com/Hearst-DD/ObjectMapper#objectmapper--realm .

此外,map 具有 currentKeycurrentValue 属性,其中可能包含您需要与 Author 实体一起使用的内容用法。

关于ios JSON 映射对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50579429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com