您好我有一个json将一些参数作为变量返回给我。 它有Parameter1,Parameter2,Parameter3等。 我不知道它会给我多少参数。它不是一个列表,它只是json中的不同变量。
这是映射json的最佳方式吗?我使用Object Mapper
例如:
第一次json是
{
"MyObject": {
"Parameter1": "p1",
"Parameter2": "p2",
"Parameter3": "p3",
"Parameter4": "p4"
}
}
json第二次
{
"MyObject": {
"Parameter1": "p1",
"Parameter2": "p2",
"Parameter3": "p3"
}
}
答案 0 :(得分:1)
你可以试试这个。
let keyvalue = parentDict.value(forKey: "MyObject") as! NSDictionary
var lastValue = Keyvalue.allValues
var lastKey = Keyvalue.allKeys
for Keyname in Keyvalue.allKeys
{
print("Keyname %@",Keyname)
print("Value %@",Keyvalue.value(forKey:Keyname))
}
答案 1 :(得分:0)
解析任何JSON以使其可重用的第一步是相应地创建Model类或结构。
MyObject
的类,与您的json字典相同parameters: [String]?
。它是可选的,因为API不可靠,也许根本不会发送任何东西。请参阅下面的示例,我将如何解析下面的json对象。
class MyObject {
let parameters: [String]?
// it's failable because maybe json different at runtime & couldn't parse
init?(json: [String:AnyObject]) {
var key = "Parameter"
var parms = [String]()
for i in 0..<json.count {
guard let item = json["\(key)\(i+1)"] as? String else { continue }
params.append(item)
}
self.parameters = params
}
}
现在您可以使用索引访问参数数组。
这可以重构,您可以了解如何使用该库处理此问题。