如何将Python对象作为参数传递给C#程序?

2 投票
1 回答
1223 浏览
提问于 2025-04-18 10:45

我有一个C#的Windows应用程序,我需要把在Python脚本中创建的对象作为参数传递给C#程序,反过来也一样。

那么,我该如何把Python脚本创建的对象传递给C#程序呢?

为此,我不想使用Iron-Python。我的要求是必须使用运行C Python脚本创建的对象。我的Python脚本会读取一个json文件并创建对象。

这是我的示例Json字符串:

{"?xml":{"@version":"1.0","@encoding":"Windows-1252"},"TestScript":{"TestExperiment":{"Test1":{"Control":[{"@Type":"System.Windows.Forms.TextBox","@Name":"Description","@FormName":"Test1","Text":null,"Visible":"True"},{"@Type":"System.Windows.Forms.TextBox","@Name":"Objective","@FormName":"Test1","Text":null,"Visible":"True"},{"@Type":"System.Windows.Forms.TextBox","@Name":"Test1","@FormName":"Test1","Text":null,"Visible":"True"}]}}}}

谢谢,

1 个回答

0

如果你的Python对象是以Json格式保存的,我觉得你应该先使用Json.net这个工具,把输入的字符串解析成Json对象。

比如说:

JObject obj = Jobject.Parse(jsonString);

之后,我建议你创建一些C#对象,这些对象要和你的Python对象相对应,然后把它们转化成真正的对象。

比如说:

// Json String to Object
Product deserializedProduct = JsonConvert.DeserializeObject<Product>(productJsonString);

撰写回答