我有一个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"}]}}}}
谢谢,
答案 0 :(得分:0)
如果您的python对象被序列化为Json,我认为您应该首先使用Json.net包将输入字符串解析为Json Objects。
例如:
JObject obj = Jobject.Parse(jsonString);
之后,我会建议您创建镜像python对象的C#对象,然后将它们反序列化为实际对象。
例如:
// Json String to Object
Product deserializedProduct = JsonConvert.DeserializeObject<Product>(productJsonString);