序列化集合以在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新手,所以我能想到的解决方案是丑陋的。你能给我一个建议吗?

序列化集合以在python中解析

如果有一些字符您可以保证不在AName, PNameValue的字符串中,那么您可以使用该字符作为分隔符。在c#中,您可以通过简单地用分隔符连接三个字符串来"序列化"信息,例如"foo,bar,baz" .

那么在Python中,信息可以用

反序列化
aName,pName,value = element.split(',')

p。只是出于好奇,为什么不能在标准库中导入模块?

最常见的标准是XML,它应该在Python中也可用。你考虑过这个选择吗?

更新:您可以在c#中使用XmlSerializer来序列化为XML。这里是我找到的Python