我聘请了一名 iOS 开发人员来创建一个由 REST API 支持的应用程序。现在我遇到了一个输出问题。
有Public和Private Groups,如果group为Private,API会返回json格式如下:
privacy":{"value":"1"},
如果群组是公开的,API 将以 json 格式返回以下内容:
"隐私":[]
iOS 开发人员说这个输出不正确,而另一方面 API 开发人员认为这是正确的输出。谁能告诉我这个输出在 iOS 应用程序中使用是否正确?
iOS 开发者时代他无法比较字符串和数组。
最佳答案
是的,它是正确的,因为 JSON 没有不正确的东西,因为没有要符合的模式。只要合法就可以。
iOS 开发人员可以在反序列化后测试 "privacy"
值的类型:
id value = jsonDict[@"privacy"];
if ([value isKindOfClass:[NSDictionary class]]) {
// Value is dictionary
NSDictionary *dictValue = (NSDictionary *)value;
NSString *number = dictValue[@"value"]; // This should be a number, not a string!
} else if ([value isKindOfClass:[NSArray class]]) {
// Value is array
} else {
// Value is illegal. Report error.
}
我会说它应该是:
{"value":1}
因为 1
是一个数字,而不是一个字符串。
关于ios - 在 iOS 中比较字符串和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36694666/