[問題] JSON的驗證方法

作者: wind681201 (阿風~~)   2018-03-12 19:15:37
想請問各位大大。
若我想要驗證我的json字串跟我的class是符合的,該怎麼做呢?
舉個例子
class member{
public string name;
public string id;
}
若是字串是 {\"id\":\"aaa\",\"id\":\"bbb\"}
預設的狀況下,json.net可以反序列回member
但我不想讓他反序列回去,該怎麼做呢?
作者: t64141 (榕樹)   2018-03-12 19:53:00
jtoken, jobject, jarray, jproperty ?或是暴力反射出class的properties,再拿名字去json字串裡面找,但可預期的問題會很多,尤其如果要支援巢狀的類別
作者: wind681201 (阿風~~)   2018-03-12 21:28:00
真的,我試過很多,也有反序列,再序列比對字串,都會產生很多不同的問題,真不知該怎麼辦
作者: t64141 (榕樹)   2018-03-12 21:52:00
不想反序列的原因是什麼?釐清限制與原因比較好下手
作者: landlord (91)   2018-03-12 23:39:00
是指 一定要有name?
作者: Tony427 (重新出發...fight!!)   2018-03-13 15:43:00
也可以用dataannotations驗證欄位值啊~有時候不一定只有一種解法XD.先看看你的需求跟問題是什麼
作者: wind681201 (阿風~~)   2018-03-13 19:39:00
我想做的,就只是字串跟物件,一定要欄位一樣,才可以做轉換,不然,不讓他做轉換
作者: m339606 (mize)   2018-03-13 20:07:00
JSON Schema validato
作者: manure54321 (我想要推文r)   2018-04-26 15:37:00
先把你的物件轉換成JObject,然後var 一個變數,變數用你要的型別做cast,然後檢查

Links booklink

Contact Us: admin [ a t ] ucptt.com