我从 http 请求返回一个 json 文件:
[
{
"_ref": "Ref0",
"name": "someName0"
},
{
"_ref": "Ref1",
"name": "someName1"
},
{
"_ref": "Ref2",
"name": "someName2"
}
]
到目前为止,这是我的快速代码:
guard let natRules = try? JSONSerialization.jsonObject(
with: data, options: []) as? [Any]
else { return }
如何将数组项的内容作为[String:String]
字典获取?当我打印时natRules
,结果如下所示:
[
{
"_ref" = "Ref0";
"name" = "someName0"
},
{
"_ref" = "Ref1";
"name" = "someName1"
},
{
"_ref" = "Ref2";
"name" = "someName2"
}
]
我希望条目看起来像"_ref": "Ref0" ...
......我在这里错过了什么?
编辑(并向未来的我发送消息):
似乎在我给出的上述示例中,我没有考虑非字符串值(它们存在于我试图处理的代码中)——所以基本上,如果存在非字符串值,则强制转换为[[String:Any]]
有必要的。所以这就是我的 TIL 我猜...
首先,如果结果应该被[[String:String]]
强制转换是相应的
guard let natRules = try? JSONSerialization.jsonObject(
with: data) as? [[String:String]]
else { return }
要迭代数组,请使用循环
for rule in natRules {
print(rule)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句