我在C#中有一些简单元素。元素就像:
public class Element
{
public string AName { get; private set; }
public string PName { get; private set; }
public string Value { get; set; }
}
我需要将此集合作为字符串传递给Python脚本。在每个元素的python中,我需要调用函数,如Func(AName,PName,Value)。我通过在C#和python编写代码中将集合序列化为JSON来完成此任务:
elements = json.loads(JSON)
for element in elements:
Func(routeLayer, element['AName'], element['PName'], element['Value'])
但现在事实证明我不能使用Python的json模块。所以我需要一种新方法将此集合传递给脚本,不要使用任何其他模块。我是Python中的一个真正的菜鸟,所以我能想象的解决方案很难看。你能给我一个建议吗?
答案 0 :(得分:1)
如果您可以保证某些字符不在AName
,PName
和Value
的字符串中,那么您可以将该字符用作分隔符。
在C#中,您可以通过简单地将三个字符串与分隔符连接来“序列化”信息,例如, "foo,bar,baz"
。
然后在Python中,可以使用
对信息进行反序列化aName,pName,value = element.split(',')
PS。出于好奇,为什么不能在标准库中导入模块?
答案 1 :(得分:0)
Python中最常用的标准是XML。你有没有考虑过这个选择?
<强>更新强>
您可以在C#中使用XmlSerializer
来序列化为XML。 here是我发现的Python的东西