मेरे पास यह JSON है:
[
{
"Attributes": [
{
"Key": "Name",
"Value": {
"Value": "Acc 1",
"Values": [
"Acc 1"
]
}
},
{
"Key": "Id",
"Value": {
"Value": "1",
"Values": [
"1"
]
}
}
],
"Name": "account",
"Id": "1"
},
{
"Attributes": [
{
"Key": "Name",
"Value": {
"Value": "Acc 2",
"Values": [
"Acc 2"
]
}
},
{
"Key": "Id",
"Value": {
"Value": "2",
"Values": [
"2"
]
}
}
],
"Name": "account",
"Id": "2"
},
{
"Attributes": [
{
"Key": "Name",
"Value": {
"Value": "Acc 3",
"Values": [
"Acc 3"
]
}
},
{
"Key": "Id",
"Value": {
"Value": "3",
"Values": [
"3"
]
}
}
],
"Name": "account",
"Id": "2"
}
]
और मेरे पास ये कक्षाएं हैं:
public class RetrieveMultipleResponse
{
public List<Attribute> Attributes { get; set; }
public string Name { get; set; }
public string Id { get; set; }
}
public class Value
{
[JsonProperty("Value")]
public string value { get; set; }
public List<string> Values { get; set; }
}
public class Attribute
{
public string Key { get; set; }
public Value Value { get; set; }
}
मैं नीचे दिए गए कोड का उपयोग करके ऊपर दिए गए JSON को डिसेर्बलाइज करने की कोशिश कर रहा हूं:
var objResponse1 = JsonConvert.DeserializeObject<RetrieveMultipleResponse>(JsonStr);
लेकिन मुझे यह त्रुटि मिल रही है:
वर्तमान JSON सरणी (जैसे [1,2,3]) को 'test.Model.RetrieveMultipleResponse' में टाइप नहीं कर सकता क्योंकि टाइप के लिए JSON ऑब्जेक्ट (जैसे {"name": "value"}) को सही ढंग से deserialize करने की आवश्यकता है। इस त्रुटि को ठीक करने के लिए या तो JSON को JSON ऑब्जेक्ट (जैसे {"name": "value"}) में बदलें या किसी सरणी में deserialized प्रकार को बदलें या एक प्रकार जो संग्रह इंटरफ़ेस को लागू करता है (जैसे ICollection, IList) जैसे कि सूची। JSON सरणी से deserialized हो। JSONArrayAttribute को JSON सरणी से डिसेरिएलाइज़ करने के लिए इसे टाइप करने के लिए भी जोड़ा जा सकता है। पथ '', पंक्ति 1, स्थिति 1।