【问题标题】:Handle either a string or int in JSON response处理 JSON 响应中的字符串或整数
【发布时间】:2015-10-13 19:07:39
【问题描述】:

如果 catData 是从 REST API 调用返回的字典:

NSString* catId = catData[@"id"];

如果 catData[@"id"] 是一个字符串,这很好。如果它是一个 int 或其他东西,那就不是那么多了。

我试过了:

NSString* catId = [catData[@"id"] stringValue];

但这会导致:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString stringValue]: unrecognized selector sent to instance 0xa000030383130365'

如何正确处理任何类型的值并将其转换为我需要的字符串?

我正在使用 AFNetworking 和 AFJSONResponseSerializer。

【问题讨论】:

    标签: ios json parsing nsdictionary


    【解决方案1】:

    而不是使用

    NSString* catId = [catData[@"id"] stringValue
    

    两种情况都使用

    NSString* catId = catData[@"id"];
    

    发生崩溃是因为您试图将 string 转换为 string

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 2021-03-23
      相关资源
      最近更新 更多