gpt4 book ai didi

json - 从 Rest 服务反序列化此 json 对象时,为什么会出现此转换错误?

转载 作者:行者123 更新时间:2023-12-04 15:47:24 26 4
gpt4 key购买 nike

我正在尝试反序列化我从休息服务(使用 RestSharp)获得的 json 响应,但我不断收到此错误:

无法将“RestSharp.JsonArray”类型的对象转换为类型“System.Collections.Generic.IDictionary`2[System.String,System.Object]”。

响应看起来像这样:

“message” : “Successfully authenticated.”,
“total” : null,
“data” : [ {
“token” : “XYZ”,
“user” : {
“password” : “ABC”,
“username” : “User”
}
}],
“success” : true

并且我创建了以下 C# 对象:

internal class AuthenticationResponse
{
public string message { get; set; }
public string total { get; set; }
public AuthenticationResponseData data { get; set; }
public bool success {get;set;}
}

internal class AuthenticationResponseData
{
public string token { get; set; }
public AuthenticationUser user {get;set;}
}

internal class AuthenticationUser
{
public string username {get;set;}
public string password {get;set;}
}

但我不断收到以下错误:

无法将“RestSharp.JsonArray”类型的对象转换为类型“System.Collections.Generic.IDictionary`2[System.String,System.Object]”。

最佳答案

因为在 JSON 中,data 值是一个数组。您需要更改 AuthenticationResponse 类以表示 AuthenticationResponseData。

internal class AuthenticationResponse
{
public string message { get; set; }
public string total { get; set; }
public List<AuthenticationResponseData> data { get; set; }
public bool success {get;set;}
}

关于json - 从 Rest 服务反序列化此 json 对象时,为什么会出现此转换错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22733199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com