반응형
Newtonsoft를 사용하여 JSON 어레이를 역직렬화하려면 어떻게 해야 합니까?제이슨
[
{
"receiver_tax_id":"1002",
"total":"6949,15",
"receiver_company_name":"Das Company",
"receiver_email":"info@another.com",
"status":0
},
{
"receiver_tax_id":"1001",
"total":"39222,49",
"receiver_company_name":"SAD company",
"receiver_email":"info@mail.com",
"status":1
}
]
안녕하세요, 이건 제 Json 데이터입니다만, 역직렬화할 수 없습니다."상태" 값만 확인합니다(첫 번째 개체 "상태" 0, 두 번째 개체 "상태" 1).
정의 예:
public class Example
{
[JsonProperty("receiver_tax_id")]
public string receiver_tax_id { get; set; }
[JsonProperty("total")]
public string total { get; set; }
[JsonProperty("receiver_company_name")]
public string receiver_company_name { get; set; }
[JsonProperty("receiver_email")]
public string receiver_email { get; set; }
[JsonProperty("status")]
public int status { get; set; }
}
역직렬화 코드:
var des = (Example)JsonConvert.DeserializeObject(responseString, typeof(Example));
Console.WriteLine(des.status[0].ToString());
다음 코드를 사용해 보십시오.
public class Receiver
{
public string receiver_tax_id { get; set;}
public string total { get; set;}
public string receiver_company_name { get; set;}
public int status { get; set;}
}
디시리얼라이즈는 다음과 같습니다.
var result = JsonConvert.DeserializeObject<List<Receiver>>(responseString);
var status = result[0].status;
확인에만 신경을 쓴다면status
를 사용할 수 있습니다.dynamic
의 유형입니다.NET(https://msdn.microsoft.com/en-us/library/dd264741.aspx)
dynamic deserialized = JObject.Parse(responseString);
int status1 = deserialized[0].status;
int status2 = deserialized[1].status;
//
// do whatever
이렇게 하면 당신은 심지어 그 어떤 것도 필요로 하지 않는다.Example
학급.
당신의 코드와 JSON 샘플로 볼 때 문제는 당신이 실제로 디시리얼라이즈를 하고 있다는 것입니다.List<Example>
싱글보다는Example
.
난 두 가지 일을 할 거야
네 반을 따라하게 해.NET 명명 규칙(이미 NET 명명 규칙 앞에 적절한 이름을 붙였음)
JsonProperty
속성:public class Example { [JsonProperty("receiver_tax_id")] public string ReceiverTaxId { get; set; } [JsonProperty("total")] public string Total { get; set; } [JsonProperty("receiver_company_name")] public string ReceiverCompanyName { get; set; } [JsonProperty("receiver_email")] public string ReceiverEmail { get; set; } [JsonProperty("status")] public int Status{ get; set; } }
를 역직렬화하다
List<Example>
범용 사용JsonConvert.DeserializeObject<T>
현재 사용 중인 비버전 대신 오버로드:var des = JsonConvert.DeserializeObject<List<Example>>(responseString); Console.WriteLine(des[0].Status);
어레이를 예제 개체로 역직렬화하려고 합니다.대신 목록에 대해 수행해 보십시오.
var des = JsonConvert.DeserializeObject(responseString, typeof(List<Example>)) as List<Example>;
언급URL : https://stackoverflow.com/questions/34103498/how-do-i-deserialize-a-json-array-using-newtonsoft-json
반응형
'programing' 카테고리의 다른 글
JSON을 Flutter로 디코딩하는 방법 (0) | 2023.03.28 |
---|---|
컨트롤러에서 json 및 xml을 반환하는 스프링 부트 (0) | 2023.03.23 |
결합 플레이!Framework 2.xx 와 Angular.js (0) | 2023.03.23 |
여러 속성 중 하나 이상이 필요한 JSON 스키마를 정의하는 방법 (0) | 2023.03.23 |
스프링 부트의 OffsetDateTime에 대한 Jackson 날짜 형식 (0) | 2023.03.23 |