我正在使用一個遺留系統,該系統使用通用方法使用 Newtonsoft.Json 反序列化對物件的 Json 回應,如下所示:
responseData = JsonConvert.DeserializeObject<TResponse>(responseData);
我正在嘗試反序列化此回應:
[
"LA1_1200099253",
"LA1_1200030493",
"LA1_1200005581",
"LA1_1199533163",
"LA1_1199521680",
"LA1_1199500161",
"LA1_1199445213",
"LA1_1199385918",
"LA1_1198691674",
"LA1_1198584599",
"LA1_1198580864",
"LA1_1198199891",
"LA1_1198193839",
"LA1_1197677005",
"LA1_1197387180",
"LA1_1197178604",
"LA1_1197195621",
"LA1_1197149865",
"LA1_1197164149",
"LA1_1197050213"
]
但我得到了這個例外:
Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: [. Path '', line 1, position 1.
嘗試將回應映射到此類時:
public class MatchesResponse : ResponseBase
{
public List<string> Games { get; set; } = new List<string>();
}
有誰知道我能做什么?提前致謝
uj5u.com熱心網友回復:
如果 responseData 是您的示例中的 JSON 字串,則 result 也不能??是 responseData。您應該首先將其重命名為其他名稱。只需您可以使用字串 []:
string responsedata = [
"LA1_1200099253",
"LA1_1200030493",
"LA1_1200005581",
"LA1_1199533163",
"LA1_1199521680",
"LA1_1199500161",
"LA1_1199445213",
"LA1_1199385918",
"LA1_1198691674",
"LA1_1198584599",
"LA1_1198580864",
"LA1_1198199891",
"LA1_1198193839",
"LA1_1197677005",
"LA1_1197387180",
"LA1_1197178604",
"LA1_1197195621",
"LA1_1197149865",
"LA1_1197164149",
"LA1_1197050213"
];
var result = JsonConvert.DeserializeObject<string[]>(responseData);
foreach(string s in result)
{
Console.WriteLine(s);
}
uj5u.com熱心網友回復:
反序列化物件允許我們將 c# 屬性決議為 json 物件。如果你在陣列中定義的運算式對應于物件,可以使用這個方法JsonConvert.DeserializeObject<List<"Class Name">>(json);
uj5u.com熱心網友回復:
試試這個
var response = new MatchesResponse
{
Games = JsonConvert.DeserializeObject<string[]>(responseData);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/419997.html
標籤:
