ios - 在 iOS 中比较字符串和数组

标签 ios json

我聘请了一名 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/

相关文章:

ios - 代码签名错误-命令/usr/bin/codesign失败,退出代码为1

json - 在 Swift 中从数组中获取项目

jquery - JSON ajax SyntaxError : JSON. 解析:意外字符

java - 将结果集转换为 json 的最佳方法是什么

ios - iOS拖放后如何保存Excel xlsx

iphone - 可以在应用程序中禁用 Siri 吗?

ios - 创建 iOS 可滚动时间轴 View

javascript - (Angularjs) 如何 $http.get 数据并将其存储在服务中

c# - JSON C# Web 服务创建和测试?

ios - 无法使用 styleURL 创建 Mapbox map View