다음과 같은 수업이 있습니다.
public class MyStok
{
public int STId { get; set; }
public int SM { get; set; }
public string CA { get; set; }
public string Br { get; set; }
public string BNo { get; set; }
public decimal Vat { get; set; }
public decimal Price { get; set; }
}
다음과 같이 역 직렬화합니다.
string sc = e.ExtraParams["sc"].ToString();
MyStok myobj = JSON.Deserialize<MyStok>(sc);
내 출력은 string sc
피들러에서 다음 과 같이 보입니다 ( ).
[
{
"STId": 2,
"CA": "hbh",
"Br": "jhnj",
"SM": 20,
"Vat": 10,
"Price": 566,
"BNo": "1545545"
}
]
하지만 오류가 발생합니다.
현재 JSON 배열 (예 : [1,2,3])을 [...] 유형으로 역 직렬화 할 수 없습니다.
그 코드에서 무엇이 잘못 되었습니까?
문자열에 단일 MyStok
객체 가있는 배열이 포함 된 것 같습니다 . 입력의 양쪽 끝에서 대괄호를 제거하면 데이터를 단일 객체로 역 직렬화 할 수 있습니다.
MyStok myobj = JSON.Deserialize<MyStok>(sc.Substring(1, sc.Length-2));
배열을 MyStok
개체 목록으로 역 직렬화하고 인덱스 0에서 개체를 가져올 수도 있습니다.
var myobjList = JSON.Deserialize<List<MyStok>>(sc);
var myObj = myobjList[0];
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다