Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 检查空值内的嵌套字典_Objective C - Fatal编程技术网

Objective c 检查空值内的嵌套字典

Objective c 检查空值内的嵌套字典,objective-c,Objective C,我从JSON随机获得null值。我想删除值为null或nil的键,您显示的不是NSDictionary,而是JSON字符串。首先,应该将其反序列化为具有与其一致的结构的对象,然后相应地使用(例如使用)。 如果出于任何原因不需要反序列化,可以将其视为字符串并将其添加为值,如: "data": { "assetID": "VMSA0000000000310652", "lastModified": null, "locale": {

我从JSON随机获得
null
值。我想删除值为
null
nil
的键,您显示的不是NSDictionary,而是JSON字符串。首先,应该将其反序列化为具有与其一致的结构的对象,然后相应地使用(例如使用)。 如果出于任何原因不需要反序列化,可以将其视为字符串并将其添加为值,如:

"data": {
        "assetID": "VMSA0000000000310652",
        "lastModified": null,
        "locale": {
          "MetadataAlbum": {
            "Artists": {
              "Artist": {
                "ArtistName": "Various Artists",
                "ArtistRole": null
              }
            },
            "Publishable": "true",
            "genres": {
              "genre": {
                "extraInfos": null,
              }
            },

其中myJSON是ObjC中的整个JSON字符串

null
的等价物是
[NSNull null]
,例如,
string
是字典中的一个字段,类型为
NSString
,它可能是
null
。在使用之前,您应该通过
[dictionary[@“string”]iskindof类:[NSString类]]
进行检查。与
NSNumber
或其他类型相同。如果
dictionary[@“string”]
null
或不存在,则条件将返回
NO
。获取数据后,我保存在
NSUserDefault
中,因此它将崩溃。所以需要检查键的所有值。使用嵌套字典,我可以得到多达100个键和值。@RahulParikh不需要检查所有键和值。只需在使用任何值之前进行检查。当我在字典中获得空值时,在这之后尝试添加
NsUserdefault
我会得到如下错误。[用户默认值]尝试设置非属性列表对象
[NSUserDefaults setObject:myJSON forKey:@"JSONString"]