json.net을 사용하여 WebApi 서비스에서 들어오는 json을 비 직렬화합니다. 게시물에 대한 우편 배달에 사용되는JSON을 비 직렬화하는 동안 C# 오류가 발생했습니다.
The best overloaded method match for 'Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject>(string)' has some invalid arguments
입력 JSON :
{ "data": [
{"zipcode":"56033","line1":"610 4TH ST","city":"FROST","state":"MN","cid":"1770"},
{"zipcode":"56033","line1":"45375 30TH ST","city":"FROST","state":"MN","cid":"1771"},
{"zipcode":"56033","line1":"115 4TH ST","city":"FROST","state":"MN","cid":"1772"}
]}
마시고 클래스
var lines = JsonConvert.DeserializeObject<RootObject>(json);
다른 유사한 답변의 수를 읽은 후, 여전히이 오류를 던지고있다 다음을 사용하여 만들었습니다 : http://json2csharp.com. 여기
public class Datum
{
public string zipcode { get; set; }
public string line1 { get; set; }
public string city { get; set; }
public string state { get; set; }
public string cid { get; set; }
}
public class RootObject
{
public List<Datum> data { get; set; }
}
내가 API를 디버깅 할 때 내가 볼 것입니다 :
{{
"data": [
{
"zipcode": "56032-0056",
"line1": "208 MAIN BOX 56",
"city": "FREEBORN",
"state": "MN",
"cid": "1732"
},
{
"zipcode": "56033",
"line1": "610 4TH ST",
"city": "FROST",
"state": "MN",
"cid": "1770"
},
{
"zipcode": "56033",
"line1": "45375 30TH ST",
"city": "FROST",
"state": "MN",
"cid": "1771"
},
{
"zipcode": "56033",
"line1": "115 4TH ST",
"city": "FROST",
"state": "MN",
"cid": "1772"
},
{
"zipcode": "56033",
"line1": "E 4TH ST",
"city": "FROST",
"state": "MN",
"cid": "1773"
}
]
}}
webapi 중괄호의 추가 세트를 추가하거나 방법을 방지하는 이유를 확실하지.
누구나 내가 누락 된 부분을 볼 수 있습니까?
'json'이란 무엇입니까? –
@GillBates JavaScript Object Notation – Sentry
@GillBates Sry, April 1st 버릇. 'json'은 아마도 OP가 "Input json"이라고 쓴 것일 것입니다. – Sentry