代码之家  ›  专栏  ›  技术社区  ›  Sunil Targe

如何在swift4.2中解析下面的动态JSON?

  •  0
  • Sunil Targe  · 技术社区  · 6 年前
    {
      "payload": {
        “key1”: “value1”,
        “key2”: "{\"command\": \"playSound\",\"tone\": 0,\"delay\": 100000}”,
        “key3”: 0
      },
    }
    

    上面是我的响应数据,而“payload”是已知的密钥,但在“payload”中包含所有密钥;值未知。

    我的代码如下,但不起作用。

    let decoder = JSONDecoder()
    do {
        let dict = try! decoder.decode([String: Any].self, from: data!)
        complete(true, dict, nil)
    }
    

    你知道吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Arkku    4 年前

    一种选择是回到过去 JSONSerialization 但缺点是你失去了 Decodable

    init(from: Decoder) 外部对象的方法(具有 payload ),并在那里手动解码词典。

    或者有 Codable -合格包装,你可以用它来代替 Any . 这里是 one