[問題] JSON的驗證方法

看板C_Sharp (C#)作者 (阿風~~)時間7年前 (2018/03/12 19:15), 編輯推噓2(2018)
留言20則, 7人參與, 7年前最新討論串1/1
想請問各位大大。 若我想要驗證我的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

03/12 19:53, 7年前 , 1F
jtoken, jobject, jarray, jproperty ?
03/12 19:53, 1F

03/12 19:56, 7年前 , 2F
或是暴力反射出class的properties,再拿名字去json字串裡
03/12 19:56, 2F

03/12 19:56, 7年前 , 3F
面找,但可預期的問題會很多,尤其如果要支援巢狀的類別
03/12 19:56, 3F

03/12 21:28, 7年前 , 4F
真的,我試過很多,也有反序列,再序列比對字串,都會
03/12 21:28, 4F

03/12 21:29, 7年前 , 5F
產生很多不同的問題,真不知該怎麼辦
03/12 21:29, 5F

03/12 21:52, 7年前 , 6F
不想反序列的原因是什麼?釐清限制與原因比較好下手
03/12 21:52, 6F

03/12 23:39, 7年前 , 7F
是指 一定要有name?
03/12 23:39, 7F

03/13 15:43, 7年前 , 8F
也可以用dataannotations驗證欄位值啊~
03/13 15:43, 8F

03/13 15:43, 7年前 , 9F
有時候不一定只有一種解法XD.先看看你的需求跟問題是什麼
03/13 15:43, 9F

03/13 19:39, 7年前 , 10F
我想做的,就只是字串跟物件,一定要欄位一樣,才可以
03/13 19:39, 10F

03/13 19:39, 7年前 , 11F
做轉換,不然,不讓他做轉換
03/13 19:39, 11F

03/13 20:07, 7年前 , 12F
JSON Schema validato
03/13 20:07, 12F

04/26 15:37, 7年前 , 13F
先把你的物件轉換成JObject,然後var 一個變數,變
04/26 15:37, 13F

04/26 15:37, 7年前 , 14F
數用你要的型別做cast,然後檢查
04/26 15:37, 14F

06/02 14:24, 7年前 , 15F
我上次反序列不出來,(接收restful api result值),後來
06/02 14:24, 15F

06/02 14:24, 7年前 , 16F
用json to string 然後string split字元,切成字串陣列
06/02 14:24, 16F

06/02 14:24, 7年前 , 17F
後,replace不要的字元,用空字串,然後裝進list〈string
06/02 14:24, 17F

06/02 14:24, 7年前 , 18F
〉,跑foreach比對。我後來是寫成method ,傳入參數是jso
06/02 14:24, 18F

06/02 14:24, 7年前 , 19F
n to sting return 出來是list〈string〉。算是暴力法解
06/02 14:24, 19F

06/02 14:24, 7年前 , 20F
出,供你參考
06/02 14:24, 20F
文章代碼(AID): #1Qfc5S2Q (C_Sharp)
文章代碼(AID): #1Qfc5S2Q (C_Sharp)