我有一个 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"}]}}}}
谢谢,
最佳答案
如果你的 python 对象被序列化为 Json,我认为你应该首先使用 Json.net 包将输入字符串解析为 Json 对象。
例如:
JObject obj = Jobject.Parse(jsonString);
在那之后,我建议您创建 C# 对象来镜像您的 Python 对象,然后将它们反序列化为真实对象。
例如:
// Json String to Object
Product deserializedProduct = JsonConvert.DeserializeObject<Product>(productJsonString);
关于c# - 我如何将 python 对象作为参数传递给 C# 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24362886/