我在C#中有一個json文件。這是70MB的數據。我想用JSON.net將它讀入Windows窗體應用程序,編輯一些數據並將其保存。 我的問題是我不想爲這個JSON文件創建所有的數據結構,但我想創建它們中的一部分。當我重新序列化文件時,我希望從我創建的數據結構中進行所有更改,而不會丟失沒有結構的數據。任何想法,如果這是可能的?我希望我的問題很清楚。C#部分反序列化和完全序列化
1
A
回答
2
我建議你使用Json的XPath等價物。用Json.NET你可以parse這個字符串並創建一個動態對象。
With SelectToken您可以查詢值,或使用Linq。
對於這個例子,我將假設一個包含序列化對象的json字符串。
var o = Newtonsoft.Json.Linq.JObject.Parse(jsonString);
o.SelectToken("TheNodeToChange").Replace("TheNewValue");
var updatedJsonString = JsonConvert.SerializeObject(o);
這將反序列化整個對象,您需要知道要更改的節點。但是你不必實現完整的對象模型。
+1
這是我的文章背後的想法,但不知道你可以解析爲這樣的變種,謝謝教我一些東西。 –
相關問題
- 1. C#部分反序列化
- 2. 部分xml序列化/反序列化
- 3. 序列化和反序列化(C#)
- 4. C#Xml序列化和反序列化
- 5. 部分bean序列化和反序列化+合併
- 6. 如何完全序列化/反序列化RSAParameters對象
- 7. C#XML反序列化一部分是
- 8. newtonsoft json反序列化錯誤處理:部分反序列化
- 9. boost C++序列化/反序列化
- 10. C#XML序列化/反序列化
- 11. Python序列化c#反序列化
- 12. C#XML序列化/反序列化
- 13. 在C#和C++中序列化和反序列化
- 14. 嵌套JSON反序列化不完全
- 15. C#反序列化
- 16. C#反序列化
- 17. C#反序列化
- 18. java序列化和反序列化
- 19. 序列化和反序列化
- 20. Spring Remoting序列化和反序列化
- 21. WCF序列化和反序列化
- 22. OData序列化和反序列化
- 23. jQuery序列化和反序列化
- 24. Hadoop序列化和反序列化
- 25. JQuery序列化和反序列化
- 26. PHP序列化和反序列化
- 27. 性狀和序列化/反序列化
- 28. 序列化和反序列化
- 29. 序列化和反序列化
- 30. 序列化/反序列化和Proguard
這個東西絕對必須是JSON而不是數據庫嗎?對於任何形式的問題,「我如何痛苦地把A變成脆弱的突變體,模仿B所擅長的東西」,答案几乎總是「如果你想B,你知道在哪裏找到它」。 –
你有什麼嘗試?我相信,在從源頭抓取數據之前,可能會對數據進行一些過濾。但是如果不知道自己實際做了什麼,很難說。 – geostocker
您可以完全控制序列化過程,所以當然這是可能的。如果需要,實施ISerializable,存儲對文件的引用,並在需要序列化時加載文件,進行更改,並將其直接保存到文件或返回其內容。這裏的實現很難 - 這個概念很簡單。 – hoodaticus