繁体   English   中英

将带有“ \\”的json字符串转换为c#中的字典

[英]convert json string with “\” to dictionary in c#

我想将以下json字符串转换为包含键值对的dicionaly

["\"TransferDate\" : \"05/30/2014\",\"Location\" : \"013\",\"VendorName\" : \"fdgfg\",\"VendorName_Other\" : \"\",\"Add1\" : \"\",\"Add2\" : \"\",\"Add3\" : \"\",\"City\" : \"\",\"State\" : \"\",\"Zip\" : \"\",\"Vphone\" : \"\",\"Vfax\" : \"\",\"Amount\" : \"$0.00\",\"Description\" : \"\",\"Comments\" : \"\",\"RequestBy\" : \"a den\",\"RPhone\" : \"\",\"FullName\" : \"dfgfg\",\"APhone\" : \"\",\"ReturnAddress\" : \"\",\"itemdesc\" : \"\",\"amount\" : \"\",\"account\" : \"\",\"accdesc\" : \"\",\"comments\" : \"\",\"assetno\" : \"\",\"category\" : \"\",\"internalorder\" : \"\",\"uom\" : \"\",\"Mail Check\":\"0\"",""]

请建议我该怎么做,由于上面的字符串中包含“ \\”字符,因此我无法弄清楚。

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(YourJson);

您必须使用Json.NET并从Package Manager控制台安装nuget软件包

安装包Newtonsoft.Json

并在cs文件中编写代码,如下所示

string str = "[" + "\"TransferDate\" : \"05/30/2014\",\"Location\" : \"013\",\"VendorName\" : \"fdgfg\",\"VendorName_Other\" : \"\",\"Add1\" : \"\",\"Add2\" : \"\",\"Add3\" : \"\",\"City\" : \"\",\"State\" : \"\",\"Zip\" : \"\",\"Vphone\" : \"\",\"Vfax\" : \"\",\"Amount\" : \"$0.00\",\"Description\" : \"\",\"Comments\" : \"\",\"RequestBy\" : \"a den\",\"RPhone\" : \"\",\"FullName\" : \"dfgfg\",\"APhone\" : \"\",\"ReturnAddress\" : \"\",\"itemdesc\" : \"\",\"amount\" : \"\",\"account\" : \"\",\"accdesc\" : \"\",\"comments\" : \"\",\"assetno\" : \"\",\"category\" : \"\",\"internalorder\" : \"\",\"uom\" : \"\",\"Mail Check\":\"0\"" + "]";
            string json = str.Trim().Replace("[", "{").Replace("]", "}");
            Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);

首先,在JSON字符串的开头和结尾添加closure 您现在已将其放入数组中。

现在您的json字符串将是

string str = "{ \"Location\" : \"013\",\"VendorName\" : \"fdgfg\",\"VendorName_Other\" : \"\",\"Add1\" : \"\" }";

我刚刚提取了您的JSON示例。

现在,只需添加以下代码行。

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(str);

这应该为您完成工作。

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM