【问题标题】:Parsing Error during Json DeserializationJson反序列化期间的解析错误
【发布时间】:2016-09-21 03:16:36
【问题描述】:

我是新来的!我想就我的代码寻求一些帮助,我使用 XML 来设置我的查询。 <add key="atstr" value="{vquery: EXECUTE spSomething @str1 = 'A', @str2 = 'B'}" />

现在在我的 c# 代码上:

if(region.Length > 0)
{
     foreach(var item in strX.Split(','))
     exQuery = ConfigurationManager.AppSettings["atstr"];
     dynamic dynaATSTR = JObject.Parse(exQuery);
     Console.WriteLine(dynaATSTR.vquery);
     break;
}

我收到此错误消息:解析值后遇到意外字符。

我认为它与“'”(撇号)有关。因为我相信它会破坏 XML 文件中的字符串,而 Json 将字符串读取为不同的字符串并破坏每个字符串。

有人可以帮我吗?我查看并尝试了该社区的一些代码,但没有任何效果。

【问题讨论】:

  • 在许多方面它都不是有效的 JSON。不引用属性值。字符串值根本没有被引用。
  • 是的,这就是我想要的。谢谢!
  • 请不要将标签强加到问题标题中。阅读stackoverflow.com/help/tagging了解如何正确使用标签

标签: c# json xml


【解决方案1】:
<add key="atstr" value="{ &quot;vquery&quot;: &quot;EXECUTE spSomething @str1 = 'A', @str2 = 'B'&quot;}" />

参考:https://msdn.microsoft.com/en-us/library/ms256152(v=vs.110).aspx

【讨论】:

    【解决方案2】:

    您的代码实际上是这样做的:

    if(region.Length > 0)
    {
         foreach(var item in strX.Split(','))
         {
             exQuery = ConfigurationManager.AppSettings["atstr"];
         }
         dynamic dynaATSTR = JObject.Parse(exQuery);
         Console.WriteLine(dynaATSTR.vquery);
         break;
    }
    

    我很确定那不是你想要的..

    也可以试试:

    <add key="atstr" value="{vquery: \"EXECUTE spSomething @str1 = 'A', @str2 = 'B'\"}" />
    

    【讨论】:

    • 嗨@meganaut 我认为我们对Split 有一些误解,代码与Split 无关,因为我有一个分配给它的数组,我试图用它来实现我的问题是我想在 vquery 中获取整个查询,并为从该键分配的每个值解析它。对不起我的英语不好。
    猜你喜欢
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2020-04-13
    • 2020-12-10
    • 2015-09-21
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    相关资源
    最近更新 更多