我将JSON数组保存为
var ingredients: [Dictionary<String,AnyObject>]
JSON数组的字典包含字符串,以及可以是Int或String的值。
然后我试图解析我的字典数组,但我在调试器中看到了一些奇怪的结果。 当&#34; serving_count&#34;的值是“0.5”调试器说它是_NSCFNumber,但是当值为“1.0”时它表示它是_NSCFString。我不知道为什么当JSON显然是一个字符串时它会选择数字,如下所示。 谢谢
{
"serving_count" = "1.0";
}
{
"serving_count" = "0.5";
}
答案 0 :(得分:1)
调试器输出
{
"serving_count" = "1.0";
}
{
"serving_count" = "0.5";
}
没有说明数据类型。这就是字典如何打印到控制台。如果要查看NSDictionary中的实际类型,请尝试打印
NSStringFromClass(ingredient.valueForKey("serving_count").dynamicType)
检查实际类型。
答案 1 :(得分:0)
有趣的是,在我打印出JSON的调试器中,所有的serving_counts都被双引号括起来。但是,当我在Xcode之外加载JSON时,我可以清楚地看到问题。该服务正在发送一些值作为字符串,一些是数字!
{
"serving_count": "1.0",
},
{
"serving_count": 0.5,
}