在PHP中,我可以创建JSON并将其解码为代码中的数组。在Swift中有类似的东西吗?
我的PHP API提供了以下JSON:
{
"1": {
"cd_sala": "1",
"nm_sala": "Treinamento de Teste"
},
"2": {
"cd_sala": "2",
"nm_sala": "Teste 2"
}
}
我可以像在PHP中一样在Swift中使用它吗?也许使用“ json_decode”功能?
我已经搜索了一些函数来执行此操作,但无法使其正常工作。我尝试使用JSONDecoder和SwiftyJSON。
===================
编辑
===================
当我将JSON解码器更改为:
[{
"cd_sala": "1",
"nm_sala": "Treinamento de Teste"
}, {
"cd_sala": "2",
"nm_sala": "Teste 2"
}]
问题是我希望在其上使用增量键...
答案 0 :(得分:1)
这实际上很容易。首先为字典项定义一个结构,如下所示:
struct Item: Codable {
let cd_sala: String
let nm_sala: String
}
然后为JSONDecoder创建一个实例:
let decoder = JSONDecoder()
并用它来解码数据
let object = try decoder.decode(Dictionary<Int, Item>.self, from: /* data */)
Dictionary<Int, Item>
是指默认的哈希表(键,值)类,它使您可以访问以下项:
// outputs "Treinamento de Teste"
print(object[1]!.nm_sala)