使用Json.Net转换为对象时出错

潘卡吉

我从REST服务接收以下Json字符串作为输出:

"CategoryDtls":       
             {
            "category": "S",
            "msgType": "0",
            "sourceId": "21999"
           }

我希望使用Json.net将其转换为C#对象

public partial class CategoryDtls
    {
        private TestChar categoryField;
        public TestChar category
        {
            get
            {
                return categoryField;
            }

            set
            {
                if (value == null)
                {
                    categoryField = null;
                }

                var stringValue = Convert.ToString(value);
                var charClass = new TestChar();
                charClass.SimpleChar = stringValue;
                categoryField = charClass;

            }
        }
        public string msgType { get; set; }
        public string sourceId { get; set; }
    }

public partial class TestChar : object, System.ComponentModel.INotifyPropertyChanged
    {

        private string simpleCharField;

        public string SimpleChar
        {
            get
            {
                return this.simpleCharField;
            }
            set
            {
                this.simpleCharField = value;
                this.RaisePropertyChanged("SimpleChar");
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

这样做时,我会收到类似的错误

{"Could not cast or convert from System.String to JsonParser.TestChar."}

我试图为上述的Category属性自定义set方法,但无法解决。我无法更改Json字符串。无论如何,我可以解决此问题。

亚瑟·雷(Arthur Rey)

您可以创建自定义CategoryConverter并通过[JsonConverter(typeof(CategoryConverter))]在您的上方进行声明来使用它public TestChar category

public class CategoryConverter : JsonConverter
{
    // Declared as abstract in JsonConverter so must be overridden
    public override bool CanConvert(Type objectType) { return true; }

    // Declared as abstract in JsonConverter so must be overridden
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        return JToken.Load(reader).ToObject<TestChar>();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

转换为Json对象时出错

来自分类Dev

使用XPath将XML转换为对象时出错

来自分类Dev

使用JSON.NET将C#对象转换为JSON时,多余的'\'是逗号

来自分类Dev

显示JSON数组数据时出错-复杂的对象类型无法转换为简单值

来自分类Dev

将JSON HTTP POST请求转换为Java对象时出错

来自分类Dev

使用Json.Net进行C#枚举反序列化:将值转换为类型时出错

来自分类Dev

JSON - 转换为 VB.NET 对象

来自分类Dev

将JSON转换为数组PHP时出错

来自分类Dev

Mongo:将JSON转换为BSON时出错

来自分类Dev

将json数据转换为[String:Any]时出错

来自分类Dev

将json转换为csv文件python时出错

来自分类Dev

解析 HTML 表并转换为 JSON 时出错

来自分类Dev

如何使用json.net将复杂的json对象转换为CLR对象?

来自分类Dev

使用Linq to SQL将FieldExpression转换为LambdaExpression时出错

来自分类Dev

使用Linq to SQL将FieldExpression转换为LambdaExpression时出错

来自分类Dev

使用python将txt转换为xlsx时出错

来自分类Dev

将查询转换为动态 SQL 时使用 GROUP BY 出错

来自分类Dev

使用System.Text.Json.Serialization将动态对象转换为json时引发异常

来自分类Dev

使用Python转换为JSON的对象列表

来自分类Dev

使用JSON.NET将Facebook feed从JSON转换为类型化的对象

来自分类Dev

使用JSON.NET将Facebook feed从JSON转换为类型化的对象

来自分类Dev

C# 使用 newtonsoft json.net 将 json 数组转换为对象列表

来自分类Dev

将对象转换为JSON时,JSON.stringify返回[]

来自分类Dev

将多个JSON转换为对象JSON.NET

来自分类Dev

使用ProducerTemplate时自动转换为JSON

来自分类Dev

使用nlohmann json包从json转换时出错

来自分类Dev

忽略列表时将JSON数据转换为Python对象

来自分类Dev

通过模板输出时,Python字典对象转换为JSON

来自分类Dev

将对象转换为 json 时覆盖属性名称

Related 相关文章

  1. 1

    转换为Json对象时出错

  2. 2

    使用XPath将XML转换为对象时出错

  3. 3

    使用JSON.NET将C#对象转换为JSON时,多余的'\'是逗号

  4. 4

    显示JSON数组数据时出错-复杂的对象类型无法转换为简单值

  5. 5

    将JSON HTTP POST请求转换为Java对象时出错

  6. 6

    使用Json.Net进行C#枚举反序列化:将值转换为类型时出错

  7. 7

    JSON - 转换为 VB.NET 对象

  8. 8

    将JSON转换为数组PHP时出错

  9. 9

    Mongo:将JSON转换为BSON时出错

  10. 10

    将json数据转换为[String:Any]时出错

  11. 11

    将json转换为csv文件python时出错

  12. 12

    解析 HTML 表并转换为 JSON 时出错

  13. 13

    如何使用json.net将复杂的json对象转换为CLR对象?

  14. 14

    使用Linq to SQL将FieldExpression转换为LambdaExpression时出错

  15. 15

    使用Linq to SQL将FieldExpression转换为LambdaExpression时出错

  16. 16

    使用python将txt转换为xlsx时出错

  17. 17

    将查询转换为动态 SQL 时使用 GROUP BY 出错

  18. 18

    使用System.Text.Json.Serialization将动态对象转换为json时引发异常

  19. 19

    使用Python转换为JSON的对象列表

  20. 20

    使用JSON.NET将Facebook feed从JSON转换为类型化的对象

  21. 21

    使用JSON.NET将Facebook feed从JSON转换为类型化的对象

  22. 22

    C# 使用 newtonsoft json.net 将 json 数组转换为对象列表

  23. 23

    将对象转换为JSON时,JSON.stringify返回[]

  24. 24

    将多个JSON转换为对象JSON.NET

  25. 25

    使用ProducerTemplate时自动转换为JSON

  26. 26

    使用nlohmann json包从json转换时出错

  27. 27

    忽略列表时将JSON数据转换为Python对象

  28. 28

    通过模板输出时,Python字典对象转换为JSON

  29. 29

    将对象转换为 json 时覆盖属性名称

热门标签

归档