아래 JSON 데이터입니다. JavaScriptSerializer.Deserialize
을 사용하여 deserialize하려고 시도하지만 예외가 발생합니다.JSON 데이터를 JavaScriptSerializer.Deserialize를 사용하여 큰 따옴표로 비 직렬화하십시오.
코드 :
var jsonSerialiser = new JavaScriptSerializer();
FCMCasepackVM casepack = jsonSerialiser.Deserialize<FCMCasepackVM>(selectedCasePack);
JSON 데이터 :
{ P_ID:"1478952", P_NM:"BAHLSEN COOKIES WAFER ROLL MILK CHOCOLATE 3.5
OZ", BYR_ID:191, BYR_NM:"BYR_NM", VDR_ID:48532, VDR_NM:"KEHE FOOD DIST
INC", CPK_ID:"1478952-12", CPK_DSC:"BAHLSEN COOKIES WAFER ROLL MILK
CHOCOLAT", VDR_IT_CD_ID:"6398", UPC_ID:7056921950.0,
CPK_PRI_FLG:"True", CPK_SRC:"PEF", **FCM_RGLT_TYP_CT:"FSV"P"**,
CPK_P_ORIG_DSC:"", RGLN_EXCL_FLG:"False", BRND_TYP:"" }
예외
추가 정보 : 유형의 개체를 변환 할 수 없습니다 '시스템 '입력 을'.String Meijer.MerchProduct.FCM.Models.ViewModels.FCMCasepackVM '
심지어 내가 직렬화 그러나 다른 예외를
코드 얻기 전에 데이터 직렬화 시도 :
var jsonSerialiser = new JavaScriptSerializer();
selectedCasePack = jsonSerialiser.Serialize(selectedCasePack);
FCMCasepackVM casepack = jsonSerialiser.Deserialize<FCMCasepackVM>(selectedCasePack);
을
JSON 데이터 후 직렬화
"{ P_ID:\"1478952\", P_NM:\"BAHLSEN COOKIES WAFER ROLL MILK CHOCOLATE
3.5 OZ\", BYR_ID:191, BYR_NM:\"BYR_NM\", VDR_ID:48532, VDR_NM:\"KEHE FOOD DIST INC\", CPK_ID:\"1478952-12\", CPK_DSC:\"BAHLSEN COOKIES
WAFER ROLL MILK CHOCOLAT\", VDR_IT_CD_ID:\"6398\",
UPC_ID:7056921950.0, CPK_PRI_FLG:\"True\", CPK_SRC:\"PEF\",
FCM_RGLT_TYP_CT:\"FSV\"P\", CPK_P_ORIG_DSC:\"\", RGLN_EXCL_FLG:\"False\", BRND_TYP:\"\" }"
예외
추가 정보 : 전달 된 잘못된 개체가, ''또는 '}'예상. (319) : {P_ID : "1478952", P_NM : "BALLLSEN COOKIES WAFER ROLL MILK CHOCOLATE 3.5 OZ", BYR_ID : 191, BYR_NM : "BYR_NM", VDR_ID : 48532, VDR_NM : "KEHE FOOD DIST INC" "PEF" FCM_RGLT_TYP_CT : "FSV"P CPK_ID "1478952-12", CPK_DSC "BAHLSEN 쿠키 WAFER ROLL 우유 CHOCOLAT", VDR_IT_CD_ID : "6398", UPC_ID : 7056921950.0, CPK_PRI_FLG : CPK_SRC "참" "CPK_P_ORIG_DSC" "RGLN_EXCL_FLG :"거짓 ", BRND_TYP?" "}
사람이 나를 도와주세요 수 있습니다 사전에
감사합니다, KARTHIK
과 같은 온라인 JSON 검사기를 사용하면 잘못된 JSON 문자열이있는 것처럼 보입니다. 두 번째 예외는 알려줍니다. FCM_RGLT_TYP_CT 키는 큰 따옴표가 3 개 있기 때문에 문제가되는데 그 중 하나는 이스케이프 또는 제거해야합니다. – Louis