某些值以JSON格式保存在DB中,如果我从DB复制它,它看起来像这样:
[{"id":"FAC2SOUTHX","name":"South District MW ","description":"South District MW ","selected":true,"required":false,"sortOrder":10}]
现在我想写一个单元测试,对于它的模拟对象,我需要传递该值,而mock值是一个字符串。但是如果我想将该值赋给字符串变量,C#
会给出错误。所以我认为我所要做的就是在它前面添加一个"@"
但不起作用。
那么我该如何将该值赋给字符串变量。
答案 0 :(得分:2)
您必须使用反斜杠对所有qoutes进行注释,以便将字符串识别为String e.g。
case List(q"object $name extends PlaceHolderTrait[$parent] { ..$body }")
答案 1 :(得分:1)
首先你需要逃避你的字符串。在每个内部引号之前,你必须使用反斜杠,所以"成为\"。
然后你可以简单地使用类似Newtonsoft.Json的东西将该字符串转换为适当的对象并检查那个值。
代码非常简单,你可以使用类似的东西:
PROFILE
Match (a:FacebookComment), (b:FacebookLike) WHERE a.id = toint(b.comment_id) AND a.post_id > 696 AND a.post_id < 746
MERGE (a)<-[fpl:FB_COMMENT_LIKE]-(b)
答案 2 :(得分:1)
你也可以使用像这样的重复双引号
string str = @"[{""id"":""FAC2SOUTHX"",""name"":""South District MW "",""description"":""South District MW "",""selected"":true,""required"":false,""sortOrder"":10}]";
看一下这个问题Can I escape a double quote in a verbatim string literal?
答案 3 :(得分:1)
请勿使用@
并使用\
来逃避"
string someJson = "[{\"id\":\"FAC2SOUTHX\",\"name\":\"South District MW \",\"description\":\"South District MW \",\"selected\":true,\"required\":false,\"sortOrder\":10}]"