我有一些JSON具有各种属性,其中大多数是简单的数据类型.但是,我在JSON中有一个属性,当我将它反序列化为C#类时,我只需将它反序列化为字符串.
示例JSON:
{"simpleProperty": "value1", "json":{"a":"a1", "b":"b1"}}
Run Code Online (Sandbox Code Playgroud)
除了它将是一个有效的JSON对象之外,"json"对象没有设置结构.
所以在上面的例子中,"json"的值是一个JSON对象 - 但是当它被反序列化时,我需要它作为一个字符串.
所以,如果我的C#类是:
public class MyClass
{
public string SimpleProperty { get; set; }
public string Json { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果我使用:
var myClass = JsonConvert.DeserializeObject<MyClass>(jsonStr);
Run Code Online (Sandbox Code Playgroud)
我希望myClass.Json只是一个简单的字符串.
我已经考虑过为此创建一个自定义的JsonConverter,但这对于这么简单的事情来说似乎太复杂了.我必须在这里遗漏一些东西.任何方向将不胜感激.
我也看到了这篇文章 - 但它确实没有回答这个问题:JSON.Net - 如何将JSON反序列化为对象但是将属性视为字符串而不是JSON?