序列化集合以在python中解析
本文关键字:python 集合 序列化 | 更新日期: 2023-09-27 18:17:54
我有一个简单的c#元素集合。元素:
public class Element
{
public string AName { get; private set; }
public string PName { get; private set; }
public string Value { get; set; }
}
我需要将这个集合作为字符串传递给Python脚本。在python中,我需要为每个元素调用函数,比如Func(name, PName, Value)。我通过在c#和python中将集合序列化为JSON来实现这一点:
elements = json.loads(JSON)
for element in elements:
Func(routeLayer, element['AName'], element['PName'], element['Value'])
但是现在我发现我不能使用Python的json模块。所以我需要一个新的方法来传递这个集合脚本,不使用任何额外的模块。我是一个真正的Python新手,所以我能想到的解决方案是丑陋的。你能给我一个建议吗?
如果有一些字符您可以保证不在AName
, PName
和Value
的字符串中,那么您可以使用该字符作为分隔符。在c#中,您可以通过简单地用分隔符连接三个字符串来"序列化"信息,例如"foo,bar,baz"
.
那么在Python中,信息可以用
反序列化aName,pName,value = element.split(',')
p。只是出于好奇,为什么不能在标准库中导入模块?
最常见的标准是XML,它应该在Python中也可用。你考虑过这个选择吗?
更新:您可以在c#中使用XmlSerializer
来序列化为XML。这里是我找到的Python