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

來源:互聯網
上載者:User

標籤:

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

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

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

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.