【问题标题】:Swift : Expression was too complex to be solved in reasonable time; consider breaking the expression into distinct sub-expressionsSwift:表达式太复杂,无法在合理的时间内解决;考虑将表达式分解为不同的子表达式
【发布时间】:2016-03-05 11:17:00
【问题描述】:

我是 Swift 编程语言的新手。我在解析 json 时有疑问。我对json中参数的定义如下

let params  = [
   ["name":"action", "value":"pay"],
   [
      "name":"cartJsonData",
      "value":[
         "total":1,
         "rows":[
            [
               "quantity":"1000",
               "title":"Donation for SMSF India - General Fund",
               "price":"1",
               "itemId":"DN001",
               "cost":"1000",
               "currency":"INR"
            ]
         ]
      ]
   ],
   ["name":"center", "value":"Chennai"],
   ["name":"flatNumber", "value":"503"],
   ["name":"panNumber", "value":""],
   ["name":"payWith", "value":"CreditCard"],
   ["name":"reminderFrequency", "value":"Monthly"],
   ["name":"shipToAddr1", "value":"null"],
   ["name":"shipToAddr2", "value":"null"],
   ["name":"shipToCity","value":"null"],
   ["name":"shipToCountryName", "value":"India"],
   ["name":"shipToEmail",  "value":"raoa@hotmail.com"],
   ["name":"shipToFirstName","value":"Barnie"],
   ["name":"shipToLastName","value":"Killian"],
   ["name":"shipToPhone", "value":"8754470650"], 
   ["name":"shipToState", "value":"Telangana"], 
   ["name":"shipToZip", "value":"500001"], 
   ["name":"userId", "value":"test_id"],
   ["name":"shipToCountry", "value":"IN"]
]

我收到了上述错误。有人可以解释一下吗?

【问题讨论】:

  • 要么按照编译器在错误消息中告诉您的操作,要么显式声明此字典的正确类型,以便编译器不必自行推断。并且请在提问之前搜索,这个问题已经被问过很多次了。谢谢。
  • 不错。别客气。如果需要,您可以发布您的解决方案作为答案。或者,如果您认为网站某处有很好的重复,您可以将您的问题标记为此链接的重复 - 它可以帮助未来有类似问题的用户找到解决方案。当然,这些只是建议。谢谢!
  • 不管你的问题是什么,你为什么不直接使用struct 而不是所有具有相同键的字典?
  • 可能情况正好相反。我从一开始就尝试使用它。所以保持原样。 struct 将非常有用。谢谢。

标签: swift


【解决方案1】:

以下是问题的答案。我对声明做了一些修改。

让参数:[[String:AnyObject]] = [[“name”:“action”,“value”:“pay”],[“name”:“cartJsonData”,“value”:“{\” total\": 1,\"rows\":[{\"quantity\": \"(amount)\" ,\"title\": \"为 SMSF India 捐款 - 普通基金\",\"price\ ":\"1\",\"itemId\":\"DN001\",\"成本\":\"(金额)\",\"货币\":\"INR\"}]}"] , ["name" : "center", "value" : "Chennai"], ["name" : "flatNumber", "value" : "503"], ["name" : "panNumber", "value" : "(pan)"], ["name" : "payWith"], ["name" : "reminderFrequency","value" : "Monthly"], ["name" : "shipToAddr1"], ["name" : "shipToAddr2"], ["name" : "shipToCity"], ["name" : "shipToCountryName" , "value" : "India"], ["name" : "shipToEmail", "value" : "(email! )"], ["name" : "shipToFirstName" , "value": "(name!)"], ["name" : "shipToLastName"], ["name" : "shipToPhone", "value" : "( mobile!)"], ["name" : "shipToState"], ["name" : "shipToZip"], ["name" : "userId", "value" : "(userid)"], ["name" : "shipToCountry", "value" : "IN"]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2018-03-09
    相关资源
    最近更新 更多