将字符串转换为类型对象 - Python

时间:2016-05-12 14:05:53

标签: python json python-2.7

我创建了一个DataStore,数据存储中的字段类型已保存为json格式。 像

这样的东西
{"SchemaName": "Caztor", "FieldType": {"cain": "<type 'float'>"}}

现在,当我使用json.load加载json时,字段cain的类型将作为Unicode加载。 python中是否有任何预定义的方法可用于将此String类型转换为Type对象。当然,我可以创建一个能够处理和解决问题的函数。但是如果在python库中已经有了解决方案,那么它将节省一些开销,并且可能比我可能更有效地处理问题。

2 个答案:

答案 0 :(得分:3)

您可以使用模块pickle来解决类型转换问题。此模块可以将实例序列化为字符串 文档出现在https://docs.python.org/2/library/pickle.html

实施例

import pickle
schema = {"SchemaName": "Caztor", "FieldType": {"cain": float}}
result = pickle.dumps(schema) # Will result a string

反序列化使用:

result2 = pickle.loads(result) # Will result a dictionary with typecast

答案 1 :(得分:2)

没有解决方案。 JSON是一种跨所有语言的通用格式,它能够存储Python类没有意义。您需要定义一种固定的方式来在字符串和类型之间来回切换,包括确定哪些类型是可接受的。这是一个例子:

TextView