C\#에서 제 이 슨 의 반 직렬 화 실현 방법
JSon 반 서열 화 는 두 가지 방식 이 있 는데 하 나 는 실 체 를 생 성하 고 대량의 데 이 터 를 처리 하기에 편리 하 며 복잡 도가 약간 높다.하 나 는 익명 류 로 쓰 고 데 이 터 를 읽 기 편 하 며 비교적 간단 하 다.
Newtonsoft.JSon 을 사용 하여 nuget 에서 가 져 올 수 있 습 니 다.
JSon 원본 데이터:
var data = "{'jingdong_ldop_receive_trace_get_responce':{'code':'0','querytrace_result':{'data':[{'opeTitle':' ','opeRemark':' ','opeTime':'2011/04/17 18:23:20','opeName':' ','waybillCode':'bc00000001'},{'opeTitle':' ','opeRemark':' , ','opeTime':'2011/04/23 08:29:56','opeName':' ','waybillCode':'bc00000001'},{'opeTitle':' ','opeRemark':' , ,','opeTime':'2011/04/23 08:36:28','opeName':' ','waybillCode':'bc00000001'},{'opeTitle':' ','opeRemark':' , ','opeTime':'2011/04/23 09:47:13','opeName':' ','waybillCode':'bc00000001'}],'messsage':' ','code':100}}}";
첫 번 째:익명 으로 생 성 되 며,JSon 의 형식 에 따라 밖에서 안 으로 한 걸음 한 걸음 씩 쓰 는 것 입 니 다.비 배열 은 new{},배열 은 new[]{},이름 은 json 의 이름 과 일치 해 야 합 니 다.
//
{
var JsonDataForVar = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(data, new
{
jingdong_ldop_receive_trace_get_responce = new
{
code = string.Empty,
querytrace_result = new
{
data = new[] {
new {
opeTitle=string.Empty,
opeRemark=string.Empty,
opeTime=string.Empty,
waybillCode=string.Empty,
opeName=string.Empty
}
}
}
}
});
foreach (var item in JsonDataForVar.jingdong_ldop_receive_trace_get_responce.querytrace_result.data)
{
var a = item.opeTitle;
var b = item.opeRemark;
var c = item.opeTime;
var d = item.waybillCode;
var f = item.opeName;
}
}
두 번 째:실체 사용//실체 부분,내부 에서 외부 로 실 체 를 쓰 는 것 을 권장 합 니 다.이름 은 json 의 이름과 일치 해 야 합 니 다[간편 한 방법,JSon 을 검색 하여 실 체 를 바 꾸 고 JSon 문자열 을 가 져 와 실 체 를 자동 으로 생 성 합 니 다]
public class Item
{
public string opeTitle { get; set; }
public string opeRemark { get; set; }
public string opeTime{ get; set; }
public string waybillCode { get; set; }
public string opeName { get; set; }
}
public class JdResult
{
public string code { get; set; }
public string msg { get; set; }
public List<Item> data { get; set; }
}
public class JdResponce
{
public string code { get; set; }
public JdResult querytrace_result { get; set; }
}
public class JdBody
{
public JdResponce jingdong_ldop_receive_trace_get_responce { get; set; }
}
//방법
//
{
var JsonDataForClass = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(data, new JdBody());
foreach (var item in JsonDataForClass.jingdong_ldop_receive_trace_get_responce.querytrace_result.data)
{
var a = item.opeTitle;
var b = item.opeRemark;
var c = item.opeTime;
var d = item.waybillCode;
var f = item.opeName;
}
}
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.