反序列化json字符串无法找到我班级的错误

时间:2013-08-05 13:02:48

标签: json deserialization

我尝试反序列化这个json字符串

{"errors":null,"value":{
    "APIVersion":"0.0.1",
    "resturantName":"Imperial Lanes",
    "serverVersion":"4.3.133",
    "user{
        "authorities":null,
        "barCode":11,
        "firstname":"Admin",
        "identifier":1,
        "lastname":"-"
         }
     }
 }

使用

Result<LoginResponse> loginResponse = 
    jsonSerialiser.Deserialize<Result<LoginResponse>>(Response);

其中Response是我的json字符串, 但我得到错误:没有为...的类型定义无参数构造函数。

我的课程看起来像这样

[DataContract]
public class Result<T>
{
    public Result(T value, ErrorMessage errors)
    {
        this.value = value;
        this.errors = errors;
    }

    [DataMember]
    public T value { get; private set; }

    [DataMember]
    public ErrorMessage errors { get; private set; }
}

public class LoginResponse
{
    public string serverVersion;
    public string APIVersion; // "0.0.1"
    public string resturantName;
    public User user = new User();
}

public class User
{
    public long identifier;
    public long barCode;
    public string firstname;
    public string lastname;
    public List<string> authorities;
}

1 个答案:

答案 0 :(得分:0)

尝试http://james.newtonking.com/projects/json-net.aspx json.net具有相同的类和相同的jsonstring,它工作得很好。