Json.net说json字符串是有效的,但事实并非如此

时间:2017-12-29 21:10:58

标签: c# .net json json.net

我正在尝试解析json字符串:

{"name":,"age":30,"car":null}

当我将json字符串解析为令牌时,会出现第一个问题。

JToken token = JToken.Parse(json);

在使用json字符串之后,json标记有额外的花括号。

{{"name":,"age":30,"car":null}}

你能告诉我为什么吗?

当我尝试将json字符串反序列化为.net对象时,会出现下一个问题。

JToken.Parse()将undefined添加到name属性:

{{"name": undefined,"age":30,"car":null}}

反序列化失败。我希望它会在name属性中添加null,这样json字符串就可以毫无例外地转换为.net对象。但是,它没有,我得到例外:

Newtonsoft.Json.JsonReaderException: 'Unexpected character encountered while parsing value: u. Path 'name', line 2, position 11.' 

如何成功解析这样的json字符串,以便可以安全地转换为.net对象?

这是json字符串的类结构:

public class User
    {
        public string name { get; set; }
        public int age { get; set; }
        public object car { get; set; }
    }

0 个答案:

没有答案