【问题标题】:cannot convert a dictionary's int-value to String in swift无法快速将字典的 int 值转换为字符串
【发布时间】:2015-01-20 06:46:53
【问题描述】:

我有一个 webService,它正在返回一些数据。这是链接http://portal.pfs-ltd.org/LoginService1114?deviceid=89A04BDB-53AA-4441-9AFD-287729ACFE7F&imeino=12345678&SerialNo=f7pln20mfpfl&username=TST0002&password=TST0002&type=agent&status=Login&flag=True&Brand=Ipad&SimSerialNumber=&TelePhoneNumber=&Model=0&InstalledVersion=1.0 我无法将键的 value(int) 转换为 String 类型的 var

var ApplicationVersion: String = dict["ApplicationVersion"] as String

【问题讨论】:

  • String(dict["ApplicationVersion"]) ?
  • 不转换请按照上面的链接,然后复制网页的整个数据并将其粘贴到以下链接[链接](json.parser.online.fr)中,您将看到的第一个对象上面的键和它的值,

标签: swift dictionary


【解决方案1】:

as 用于类型转换,而不是转换。您需要从整数值中创建一个字符串:

let version = dict["ApplicationVersion"] as Int
let applicationVersion = "\(version)"

请注意,这不会执行安全检查或验证。

【讨论】:

    【解决方案2】:

    您的 json 不是字典,而是嵌套数组。

    let json: [AnyObject] = ...
    let dict = json[0][0] as NSDictionary
    var applicationVersion = String(dict["ApplicationVersion"] as Int)
    

    【讨论】:

    • 但是 dict 是 NSDictionary 类型的标识符,对吧?并且该字典包含int,string,bool的值,这部分令人困惑,因为我知道字典值只能是一种类型.... ??
    • NSDictionary(不同于 swift Dictionary)可以保存多种类型的值,而定义为[String:AnyObject]Dictionary 也可以保存多种类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2015-04-09
    • 1970-01-01
    相关资源
    最近更新 更多