을 Object로 :역 직렬화 JSON 내가 JSON 문자열이 예외
var objectValue = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, object>>>(jsonString);
var objectDeserialize = JsonConvert.DeserializeObject<OrderListResponse>(objectValue.Values.First()["orderListResponse"].ToString());
나는 오류 메시지 :
{"GetOrderListResponse":
{"orderListResponse":
{
"orderDetails":
[
{"order":
{
"orderId":208,
"legDetails":
{
"legNumber":1,
"symbolInfo":
{
"symbol":"CSCO"
}
}
}
},
{"order":
{
"orderId":200,
"legDetails":
[
{
"legNumber":1,
"symbolInfo":
{
"symbol":"IBM"
}
},
{
"legNumber":2,
"symbolInfo":
{
"symbol":"IBM",
"callPut":"CALL",
"expYear":2010,
"expMonth":4,
"expDay":17,
"strikePrice":115
}
}
]
}
}
]
}
}
}
을 그리고 내가 가지고있는 것은 내가 코드를 사용할 때
public class OrderListResponse
{
public List<OrderDetail> orderDetails { get; set; }
}
public class OrderDetail
{
public Order order { get; set; }
}
public class Order
{
public long orderId { get; set; }
public List<LegDetail> legDetails { get; set; }
}
public class LegDetail
{
public long legNumber { get; set; }
public Symbol symbolInfo { get; set; }
}
public class Symbol
{
public string symbol { get; set; }
public string callPut { get; set; }
public int expYear { get; set; }
public int expMonth { get; set; }
public int expDay { get; set; }
public int strikePrice { get; set; }
}
그래서 객체 :
deserialize 할 수 없습니다. 현재 JSON 객체 (예 : 형식에서 JSON 배열 (예 : [1,2,3])을 필요로하기 때문에 'System.Collections.Generic.List`1 [LegDetail]'유형 ({name ":"value "})을 올바르게 역 직렬화 할 수 없습니다.
누군가 내가 올바른 코드를 표시 할 수 있습니까?
이 업데이트"legDetails":
[{
"legNumber":1,
"symbolInfo":
{
"symbol":"CSCO"
}
}]
: 지금 문제가 당신이 원하는 그래서
첫 번째 순서로
json 문자열은 WebService에서 가져온 것이므로 legdetails는 배열이 아니므로 해당 legdetails를 처리하기위한 솔루션이 있습니까? –
@ VũHoàng이 내 대답을 업데이트했습니다. –
문제가 해결되었습니다. 감사합니다. @ Jenish Rabadiya –