解析作为exe C#输入参数提供的json字符串

时间:2018-09-17 12:53:20

标签: c# json parsing

嗨,我有一个applicationn,我需要从运行命令中执行:

D:\MyApplication.exe {\"mydllpath\":\"D:\\dll\",\"FilePath\":\"D:\\Input\\abc.doc\", \"Attribute\":\"word\"}

但是,我无法提取“ mydllpath”,“ FilePath”和“ Attribute”中的值,它在解析时显示错误。

  

错误:加载JObject时内容意外结束。路径“ mydllpath”,第3行,位置0。    代码:

foreach (string arg in args)
{
    var x = JObject.Parse(arg);

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

如果转义JSON,则需要将其括在字符串中

D:\MyApplication.exe "{\"mydllpath\":\"D:\dll\",\"FilePath\":\"D:\Input\abc.doc\", \"Attribute\":\"word\"}"

将在代码中以

的形式接收
{"mydllpath":"D:\dll", "FilePath":"D:\Input\abc.doc", "Attribute":"word"}

并允许正确的解析。

var json = args[0];
var x = JObject.Parse(json);