这是一个C#基础的基础问题
今天测试在控制台中运行程序去启动另外一个程序,并给程序传递json参数时出现问题
程序代码如下
Process.Start(program2.exe, Jsonparam);
这个Jsonparam是将一个List<List<string>>的泛型转换成string型。
如我所想,控制台报错了,Newtonsoft.Json.reader出错。
排查过程:
1)程序二 控制台传参数调试,无错。。。
2)程序一检查Json是不是正确,无错。。。
3)程序二控制台输出传入的参数,有错!!!
原因:Json将引号进行了转义。。。当然你在程序一中的调试是正确显示的,只不过控制台接收时它就变了!!!
解决:为了程序的稳定性,直接所传的Json写入一个txt文件内,然后控制台程序去读取该文件。
注:如果在控制台去修改转义过的参数然后正确读取,或者在程序一中去修改json参数,使它转义之后变成正确的参数,个人觉得得不偿失,还没写入读取文件方便。