【问题标题】:am trying to print("_id") data which am getting from server我正在尝试打印(“_id”)从服务器获取的数据
【发布时间】:2017-07-26 16:36:19
【问题描述】:

对于下面的swift代码

 self.cardDataArray = response.value(forKey: "card_list") as? NSArray
 print(self.cardDataArray!)

我从服务器(API)得到这个输出

(
        {
        "__v" = 0;
        "_id" = 5978b5dadc336d0788a81c58;
        "stu_number" = 1234567812345678;
        "stu_status" = 1;
        "created_at" = "2017-07-26T15:31:38.874Z";
        "stu_id" = 5978b41ddc336d0788a81c57;
        "stu_number" = 1234;
        "default_status" = 0;
        "default_type" = 3;
    }
)

我正在尝试从上面的代码中打印“_id” 但我收到错误 无法将“__NSSingleObjectArrayI”(0x1a9ae6ca0)类型的值转换为“NSString”

这是我尝试打印的代码

let studentID = self.cardDataArray?.value(forKey: "_id") as! NSString
print(studentID)

【问题讨论】:

    标签: ios arrays mongodb api nsdictionary


    【解决方案1】:

    您的cardDataArray 是一个字典数组,因此您必须首先获取此字典并访问本例中所需的密钥“_id”,尝试使用此代码

    if let studentDict = self.cardDataArray?[0] as? NSDictionary
    {
       print(studentDict.object(forKey: "_id") as? NSString)
    }
    

    更新

    for dictObj in self.cardDataArray {
        print(dictObj.object(forKey: "_id") as? NSString)
    }
    

    希望对你有帮助

    【讨论】:

    • 如果获得单个对象意味着此代码将起作用,因为我们提供了 cardDataArray?[0] 如果我们获得多个对象,我们应该如何打印“_id”?
    • @ammateja 您可以在您的 dicts 数组上循环并打印相同的内容,如果您愿意,我可以提供更新代码
    • @Renier 能否请您提供更新中的代码。我又被困在这里了
    • @ammateja 检查我的更新答案,如果能解决您的问题,请告诉我
    猜你喜欢
    • 2018-10-30
    • 1970-01-01
    • 2020-08-10
    • 2016-05-20
    • 2018-01-16
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 2021-11-26
    相关资源
    最近更新 更多