相关疑难解决方法(0)

将JSON对象属性反序列化为字符串

我有一些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?

c# serialization json json.net

6
推荐指数
2
解决办法
6452
查看次数

标签 统计

c# ×1

json ×1

json.net ×1

serialization ×1