例如:
class Test {
var name: String;
var age: Int;
var height: Double;
func convertToDict() -> [String: AnyObject] { ..... }
}
let test = Test();
test.name = "Alex";
test.age = 30;
test.height = 170;
let dict = test.convertToDict();
字典将包含以下内容:
{"name": "Alex", "age": 30, height: 170}
在Swift中有可能吗?
我是否可以访问像字典这样的类,例如可能使用:
test.value(forKey: "name");
或类似的东西?
谢谢。
您只需将计算属性添加到您的属性中struct
即可返回Dictionary
带有您的值的。请注意,Swift本机字典类型没有任何称为的方法value(forKey:)
。您需要将您强制转换Dictionary
为NSDictionary
:
struct Test {
let name: String
let age: Int
let height: Double
var dictionary: [String: Any] {
return ["name": name,
"age": age,
"height": height]
}
var nsDictionary: NSDictionary {
return dictionary as NSDictionary
}
}
您还可以Encodable
按照@ColGraff发布的链接答案中的建议扩展协议,以使其对所有Encodable
结构通用:
struct JSON {
static let encoder = JSONEncoder()
}
extension Encodable {
subscript(key: String) -> Any? {
return dictionary[key]
}
var dictionary: [String: Any] {
return (try? JSONSerialization.jsonObject(with: JSON.encoder.encode(self))) as? [String: Any] ?? [:]
}
}
struct Test: Codable {
let name: String
let age: Int
let height: Double
}
let test = Test(name: "Alex", age: 30, height: 170)
test["name"] // Alex
test["age"] // 30
test["height"] // 170
本文向大家介绍sqlalchemy 将结果转换成字典,包括了sqlalchemy 将结果转换成字典的使用技巧和注意事项,需要的朋友参考一下 示例 在SQLAlchemy核心中,结果为RowProxy。如果您需要显式词典,可以致电dict(row)。 首先为示例进行设置: 然后从结果行创建字典:
问题内容: 我有一个Web API方法,可以将任意json有效内容接受到属性中。因此,我不知道会发生什么,但是我仍然需要将其转换为.NET类型。我想拥有一个以便可以按我想要的任何方式处理它。 我进行了很多搜索,但找不到任何东西,最终启动了一个麻烦的方法来进行此转换,一个键一个键,一个值一个值。有简单的方法吗? 输入-> 谢谢! 问题答案: 我最终使用了两个答案的混合,因为没有一个真正地钉住它。 T
问题内容: 我在python中有一个命名的tuple类 我想将Town实例转换成字典。我不希望它与城镇中字段的名称或数量严格相关。 有没有一种方法可以编写它,以便我可以添加更多字段,或者传入完全不同的命名元组并获得字典。 我无法更改其他人代码中的原始类定义。因此,我需要以一个Town实例为例,并将其转换为字典。 问题答案: TL; DR:为此提供了一种方法。 这是用法的演示: 这是一个已记录的na
字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。 注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。 键值对在字典中以这样的方式标记:d = {key1 : value1,
本文向大家介绍Python实现列表转换成字典数据结构的方法,包括了Python实现列表转换成字典数据结构的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现列表转换成字典数据结构的方法。分享给大家供大家参考,具体如下: 排序用法: 希望本文所述对大家Python程序设计有所帮助。
问题内容: 有没有一种方法可以将Swift结构的地址转换为无效的UnsafeMutablePointer? 我尝试了一下但没有成功: 谢谢! 编辑: 我实际上正在尝试 将上下文 移植到Swift中 学习CoreAudio 的第一个示例。 这是我到目前为止所做的: 我正在努力留在Swift中,但是如果事实证明这是一个问题而不是优势,那么我最终将链接到C函数。 编辑:底线 如果您因为试图在Swift中