如何将 JSON 值分配给字符串变量
本文关键字:字符串 变量 分配 JSON | 更新日期: 2023-09-27 17:57:07
某些值以JSON格式保存在DB中,如果我从DB复制它,它看起来像这样:
[{"id":"FAC2SOUTHX","name":"South District MW ","description":"South District MW ","selected":true,"required":false,"sortOrder":10}]
现在我想编写一个单元测试,对于它的模拟对象,我需要传递该值,并且模拟值是一个字符串。 但是,如果我想将该值分配给字符串变量,C#
给出错误。所以我认为我所要做的就是在它前面加上一个"@"
但也没有用。那么我如何将该值分配给字符串变量。
您必须用反斜杠注释所有 qoutes,以便将字符串识别为字符串例如
string s = "My string with '" qouted '" Values";
首先你需要转义你的字符串。 在每个内部引号之前,您必须使用反斜杠,因此" 变为 ''"。
然后,您可以简单地使用Newtonsoft.Json之类的东西将该字符串转换为适当的对象,并以这种方式检查值。
代码非常简单,您可以使用类似以下内容:
JsonConvert.DeserializeObject<dynamic>(your_string);
您也可以像这样使用重复的双引号
string str = @"[{""id"":""FAC2SOUTHX"",""name"":""South District MW "",""description"":""South District MW "",""selected"":true,""required"":false,""sortOrder"":10}]";
看看这个问题 我可以在逐字字符串文字中转义双引号吗?
不要使用@
并使用'
来逃避"
string someJson = "[{'"id'":'"FAC2SOUTHX'",'"name'":'"South District MW '",'"description'":'"South District MW '",'"selected'":true,'"required'":false,'"sortOrder'":10}]"