程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#反序列化json字符串時,提示:應為來自命名空間“”的元素“root”。。遇到名稱為“”、命名空間為“”的“None”。,

C#反序列化json字符串時,提示:應為來自命名空間“”的元素“root”。。遇到名稱為“”、命名空間為“”的“None”。,

編輯:C#入門知識

C#反序列化json字符串時,提示:應為來自命名空間“”的元素“root”。。遇到名稱為“”、命名空間為“”的“None”。,


反序列化調用接口返回的字符串時,出現:應為來自命名空間“”的元素“root”。。遇到名稱為“”、命名空間為“”的“None”。,導致反序列化數據失敗,這種失敗並有時候並不會直接提示反序列化失敗(拋異常),而是把不能正常反序列化的部分丟棄(值為null),查了一下網上的資料,有說是使用反序列化和序列化的版本不一致,也有說是命名空間的問題,我檢查了貌似都沒問題,實在沒辦法了,直接先實例化一個,序列化後和接口返回的值做比較。終於找到問題出在哪了。

是因為我自己定義的類的屬性命是Keys,二接口返回的這個屬性的名字是keys,很相似,如果屬性字段多,不認真看,還真看不出來,我定義屬性的開頭是大寫的,二而接口返回的屬性的開頭是小寫的,好坑坑。。。。把屬性名改成和接口返回的名字一致,就能夠正確解析了。.net對大小寫是很敏感的,也怪自己粗細大意了。。。在此備注,希望有碰到類似情況的可以看看是不是也和我的情況是一樣的。。。希望有幫助!

在以後做json格式的接口時盡量保證重要的字段(屬性)一致,全部大寫或小寫,方便自己也方便別人。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved