看板 C_Sharp 關於我們 聯絡資訊
想請問各位大大。 若我想要驗證我的json字串跟我的class是符合的,該怎麼做呢? 舉個例子 class member{ public string name; public string id; } 若是字串是 {\"id\":\"aaa\",\"id\":\"bbb\"} 預設的狀況下,json.net可以反序列回member 但我不想讓他反序列回去,該怎麼做呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.73.164 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1520853340.A.09A.html
t64141: jtoken, jobject, jarray, jproperty ? 03/12 19:53
t64141: 或是暴力反射出class的properties,再拿名字去json字串裡 03/12 19:56
t64141: 面找,但可預期的問題會很多,尤其如果要支援巢狀的類別 03/12 19:56
wind681201: 真的,我試過很多,也有反序列,再序列比對字串,都會 03/12 21:28
wind681201: 產生很多不同的問題,真不知該怎麼辦 03/12 21:29
t64141: 不想反序列的原因是什麼?釐清限制與原因比較好下手 03/12 21:52
landlord: 是指 一定要有name? 03/12 23:39
Tony427: 也可以用dataannotations驗證欄位值啊~ 03/13 15:43
Tony427: 有時候不一定只有一種解法XD.先看看你的需求跟問題是什麼 03/13 15:43
wind681201: 我想做的,就只是字串跟物件,一定要欄位一樣,才可以 03/13 19:39
wind681201: 做轉換,不然,不讓他做轉換 03/13 19:39
m339606: JSON Schema validato 03/13 20:07
manure54321: 先把你的物件轉換成JObject,然後var 一個變數,變 04/26 15:37
manure54321: 數用你要的型別做cast,然後檢查 04/26 15:37
upasaka: 我上次反序列不出來,(接收restful api result值),後來 06/02 14:24
upasaka: 用json to string 然後string split字元,切成字串陣列 06/02 14:24
upasaka: 後,replace不要的字元,用空字串,然後裝進list〈string 06/02 14:24
upasaka: 〉,跑foreach比對。我後來是寫成method ,傳入參數是jso 06/02 14:24
upasaka: n to sting return 出來是list〈string〉。算是暴力法解 06/02 14:24
upasaka: 出,供你參考 06/02 14:24