如何将 nil 自动转换为 [NSNull null] 时将其添加到数组(字典)



我需要将一些值添加到数组中(使用 initWithObjects(,稍后编码为 JSON 字符串。

众所周知,当数组遇到一个nil时,它将停止读取下一个值。

作为 JSON 数组的约定,nil 应在有序位置充当空值。

我应该检查每个值,并在将其添加到数组之前手动将其转换为[NSNull null]吗?

我是否应该检查每个值,并在将其添加到数组之前手动将其转换为 [NSNull null]?

是的。您可以创建一个简单的帮助程序方法/函数:

id GuardJSONElement(id arg) { return arg ? arg : [NSNull null]; }

然后:

[array addObject:GuardJSONElement(something)];

最新更新