【问题标题】:How do I parse [String : Any]() (Swift Dictionary) to TCP/IP Server?如何将 [String : Any]() (Swift Dictionary) 解析为 TCP/IP 服务器?
【发布时间】:2019-07-05 10:58:10
【问题描述】:

如何解析[String : Any]()like

{"Name":"","Device":"","Auth":"","Version":"","ObjectID":""}

每个都以空字符结尾(通过套接字 TCP/IP)。

我可以轻松地将字符串发送到 TCP/IP 服务器,但无法发送字典。

如果有人提出任何解决方案,那就太好了!

【问题讨论】:

  • 对我来说似乎是 JSON,不是吗?看看如何将 Dictionary 转换为 JSON。
  • 你的问题不是很清楚。你说你有一个[String:Any] 形式的字典,但你发布的似乎是 JSON。

标签: ios swift sockets tcp socket.io


【解决方案1】:

您可以使用JSONSerializationCodable 协议(在这种情况下实际上是Encodable 协议)将字典转换为数据。这两种方法都将对象转换为 JSON 数据,然后您可以按照您的描述通过套接字发送这些数据。 (您可能需要将该 Data 转换为 UTF8 字符串并首先添加一个空终止符。)

但是,JSONSerializationEncodable 协议要求字典的所有元素都是可以编码的类型。如果您的字典是[String:Any] 类型,则您无法确定某些值是无法编码的类型。

您需要将对象模型限制为可以编码的类型。你能更具体地描述你的数据吗?在您的示例中,所有条目的类型似乎都是 [String:String],转换为 JSON 很简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 2013-08-27
    • 1970-01-01
    • 2020-03-07
    • 2017-02-27
    相关资源
    最近更新 更多