【发布时间】:2020-04-29 21:21:10
【问题描述】:
我收到一个json如下:
{
"soce":{
"message":{"details":"No Details available now.","code":"123"},
"number":"500"
}
}
我正在使用 Newtonsoft JsonConvert。我不想将消息中的值序列化为 json 而是字符串。
我尝试更新 json 以将 message 的值包含在引号中,但这不起作用。
{
"soce":{
"message":"{"details":"No Details available now.","code":"123"}",
"number":"500"
}
}
有没有办法指示反序列化器不反序列化 json 的一部分?
【问题讨论】:
-
您的最后一个示例不起作用,因为它不是合法的 json。您需要对字符串中的双引号进行转义,以免将它们作为字符串结尾处理。
-
为什么要将它作为字符串?是因为您不想承担反序列化这部分的开销,还是只想拥有该级别的原始 json?
-
如果你只想得到
message中任何内容的a json表示,你可以为该属性声明一个JToken类型的属性并反序列化到它,然后在上面使用.ToString()来获取json。但是,它不一定会匹配原始 json 输入中的空格。 -
是的 Lasse,我需要原始 json 内容,而无需仅对消息中的内容进行反序列化
标签: json.net jsonconvert