【发布时间】:2013-06-06 18:56:18
【问题描述】:
我有一个 Python 的 tcp 服务器(使用twisted)和许多客户端,其中一个是 iOS。建立连接后,我的服务器会向客户端发送一个转换为字符串的 python 字典:
self.stringRep = str(self.myDictionary)
//somewhere else
self.connection.write(self.stringRep)
我的问题是如何在 Objective-C 客户端中将这个 Python 字典的字符串表示形式转换为 NSDictionary。我在 Objective-C 中将其表示为 NSString。
希望我提供了足够的详细信息。提前致谢。
编辑:如果可以在不转换为 JSON 的情况下完成此操作,那就太好了。如果没有其他办法,JSON 就可以了。
【问题讨论】:
-
我不会使用
str()来制作字典的字符串表示形式。使用json.dumps()之类的东西,因为 JSON 是一种标准格式,其中包含用大量语言编写的库。 -
JSON 有什么问题?
-
我对 JSON 有点缺乏经验。现在,我所有的客户端服务器交互都是通过 tcp 消息进行的,其中一些关键字由分隔符分隔。我不知道 JSON 表示是否有可能会破坏交互。无论如何,即使它在最好的情况下成功,为其他客户重构代码也需要时间。将来当一切正常时,我将转换为 JSON 并更改我的客户端-服务器交互机制。
-
JSON 表示几乎与 Python
str()表示相同:{"a": 2, "c": "\"'", "b": 3}。 -
是的,刚刚看到了……也许还是做 json 更好。
标签: python objective-c nsstring nsdictionary