คำถามติดแท็ก serialization

การทำให้เป็นอนุกรมเป็นกระบวนการที่โครงสร้างข้อมูลจะถูกแปลงเป็นรูปแบบที่สามารถจัดเก็บหรือส่งได้อย่างง่ายดายและสร้างขึ้นใหม่ในภายหลัง

5
แปลงวัตถุเป็นสตริง XML
ฉันมีคลาสชื่อWebserviceTypeฉันได้มาจากเครื่องมือ xsd.exe จากไฟล์ XSD ตอนนี้ฉันต้องการยกเลิกการเชื่อมต่ออินสแตนซ์ของWebServiceTypeวัตถุเป็นสตริง ฉันจะทำเช่นนี้ได้อย่างไร? MethodCheckTypeวัตถุได้เป็น params WebServiceTypeอาร์เรย์ การลองครั้งแรกของฉันเหมือนกับว่าฉันทำให้เป็นอนุกรม: ด้วย a XmlSerializerและ a StringWriter(ในขณะที่ทำให้เป็นอนุกรมฉันใช้ a StringReader) นี่คือวิธีการที่ฉันทำให้WebServiceTypeวัตถุเป็นอนุกรม: XmlSerializer serializer = new XmlSerializer(typeof(MethodCheckType)); MethodCheckType output = null; StringReader reader = null; // catch global exception, logg it and throw it try { reader = new StringReader(path); output = (MethodCheckType)serializer.Deserialize(reader); } …
92 c#  xml  serialization 


10
Visual Studio วิธีการจัดลำดับวัตถุจากดีบักเกอร์
ฉันกำลังพยายามตรวจสอบข้อบกพร่องในการถ่ายโอนข้อมูลที่ขัดข้อง (ดังนั้นฉันจึงไม่สามารถเปลี่ยนรหัสได้) ฉันมีวัตถุที่ซับซ้อนมาก (หลายพันบรรทัดในการแสดงแบบอนุกรม) และสถานะของมันไม่สอดคล้องกัน หากต้องการตรวจสอบสถานะของมุมมองดีบักเกอร์ Visual Studio จะไม่มีประโยชน์ แต่วัตถุมีสัญญาข้อมูล ฉันต้องการทำให้เป็นอนุกรมจากนั้นใช้โปรแกรมแก้ไขข้อความที่ฉันชอบเพื่อนำทางไปยังวัตถุ เป็นไปได้ไหมที่จะทำจากดีบักเกอร์?

3
DataContractJsonSerializer และ JavaScriptSerializer แตกต่างกันอย่างไร
.NET Framework มาพร้อมกับSystem.Runtime.Serialization.Json.DataContractJsonSerializerและSystem.Web.Script.Serialization.JavaScriptSerializerซึ่งทั้งสองอย่างนี้จะยกเลิก / ซีเรียลไลซ์ JSON ฉันจะรู้ได้อย่างไรว่าควรเลือกประเภทใดประเภทหนึ่งเหล่านี้ทับอีกประเภทหนึ่ง MSDN ไม่ได้ระบุชัดเจนว่าข้อดีของมันคืออะไร เรามีโปรเจ็กต์หลายโปรเจ็กต์ที่ใช้หรือปล่อย JSON และคลาสที่เลือกไว้สำหรับแต่ละโปรเจ็กต์นั้นขึ้นอยู่กับความคิดเห็นของผู้พัฒนาหลักในแต่ละโปรเจ็กต์ บางอย่างเรียบง่ายสองมีตรรกะที่ซับซ้อนเกี่ยวกับการสร้างประเภทที่มีการจัดการจาก JSON (ประเภทไม่ได้จับคู่กับสตรีมอย่างใกล้ชิด) แต่ไม่ได้เน้นเรื่องความเร็ว แต่อย่างใดประเภทหนึ่งต้องการความเร็ว ไม่มีการโต้ตอบกับ WCF อย่างน้อย ณ ตอนนี้ ในขณะที่ฉันสนใจห้องสมุดทางเลือก แต่ฉันก็หวังว่าจะมีคนตอบคำถามของฉัน

9
การใช้ตัวแปลง Json.NET เพื่อ deserialize คุณสมบัติ
ฉันมีนิยามคลาสที่มีคุณสมบัติที่ส่งคืนอินเทอร์เฟซ public class Foo { public int Number { get; set; } public ISomething Thing { get; set; } } การพยายามทำให้คลาส Foo เป็นซีเรียลโดยใช้ Json.NET ทำให้ฉันมีข้อความแสดงข้อผิดพลาด "ไม่สามารถสร้างอินสแตนซ์ประเภท 'ISomething' ได้ไอบางอย่างอาจเป็นอินเทอร์เฟซหรือคลาสนามธรรม" มีแอตทริบิวต์ Json.NET หรือตัวแปลงที่จะให้ฉันระบุSomethingคลาสคอนกรีตที่จะใช้ระหว่างการดีซีเรียลไลเซชันหรือไม่

4
การทำให้เป็นอนุกรม Python - ทำไมต้องดอง?
ฉันเข้าใจว่าการดอง Python เป็นวิธี 'จัดเก็บ' Python Object ในลักษณะที่เคารพการเขียนโปรแกรม Object ซึ่งแตกต่างจากเอาต์พุตที่เขียนในไฟล์ txt หรือ DB คุณมีรายละเอียดเพิ่มเติมหรือข้อมูลอ้างอิงในประเด็นต่อไปนี้: วัตถุดองถูกเก็บไว้ที่ไหน? เหตุใดการดองจึงรักษาการแสดงวัตถุมากกว่าการจัดเก็บใน DB ฉันสามารถดึงวัตถุดองจากเซสชัน Python shell หนึ่งไปยังอีกเซสชันหนึ่งได้หรือไม่ คุณมีตัวอย่างที่สำคัญเมื่อการทำให้เป็นอนุกรมมีประโยชน์หรือไม่? การทำให้เป็นอนุกรมกับดองหมายถึง 'การบีบอัดข้อมูล' หรือไม่? กล่าวอีกนัยหนึ่งฉันกำลังมองหาเอกสารเกี่ยวกับการดอง - Python.doc อธิบายวิธีการใช้ดอง แต่ดูเหมือนจะไม่ได้เจาะลึกลงไปในรายละเอียดเกี่ยวกับการใช้งานและความจำเป็นในการทำให้เป็นอนุกรม

9
วิธีที่เร็วที่สุดในการทำให้เป็นอนุกรมและแยกวัตถุ. NET
ฉันกำลังมองหาวิธีที่เร็วที่สุดในการทำให้เป็นอนุกรมและแยกวัตถุ. NET นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: public class TD { public List<CT> CTs { get; set; } public List<TE> TEs { get; set; } public string Code { get; set; } public string Message { get; set; } public DateTime StartDate { get; set; } public DateTime EndDate { get; set; } public …

15
ไม่สามารถจัดลำดับการตอบสนองใน Web API
ฉันกำลังทำงานกับ ASP.NET MVC web API ฉันพบข้อผิดพลาดนี้: ประเภท 'ObjectContent'1' ล้มเหลวในการจัดลำดับเนื้อหาการตอบสนองสำหรับประเภทเนื้อหา 'application / xml; charset = utf-8 ' ตัวควบคุมของฉันคือ: public Employee GetEmployees() { Employee employees = db.Employees.First(); return employees; } ทำไมฉันถึงได้รับข้อผิดพลาดนี้

4
.NET WebAPI Serialization k_BackingField Nastiness
เมื่อฉันทำให้เป็นอนุกรมต่อไปนี้: [Serializable] public class Error { public string Status { get; set; } public string Message { get; set; } public string ErrorReferenceCode { get; set; } public List<FriendlyError> Errors { get; set; } } ฉันมีระเบียบที่น่าขยะแขยงนี้: <ErrorRootOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Printmee.Api"> <_x003C_Errors_x003E_k__BackingField> An exception has occurred. Please contact printmee support </_x003C_Errors_x003E_k__BackingField> <_x003C_LookupCode_x003E_k__BackingField>988232ec-6bc9-48f3-8116-7ff7c71302dd</_x003C_LookupCode_x003E_k__BackingField> …

1
DataContractSerializer vs XmlSerializer: ข้อดีข้อเสียของ Serializer แต่ละตัว
แอปพลิเคชันเดสก์ท็อปของฉันจัดลำดับวัตถุโดยใช้XmlSerializerไฟล์. ฉันถูกแนะนำให้ใช้ประโยชน์DataContractSerializerแทน ฉันควรใช้สถานการณ์DataContractSerializerใด ขอบคุณมาก ความคิดเห็น. 1. ไฟล์ XML เอาต์พุตถูกเก็บไว้ในเครื่อง ไม่มีแอปพลิเคชันอื่น ๆ ที่ยกเลิกการกำหนดค่าอ็อบเจ็กต์จากไฟล์ XML นั้น 2. แอปพลิเคชันของฉันทำงานด้วย. NET Framework 3.5 SP1

7
XML Serialization และประเภทที่สืบทอด
ต่อจากคำถามก่อนหน้าของฉันฉันได้ดำเนินการเพื่อรับโมเดลวัตถุของฉันเพื่อทำให้เป็นอนุกรมกับ XML แต่ตอนนี้ฉันประสบปัญหาแล้ว (แปลกใจ!) ปัญหาที่ฉันมีคือฉันมีคอลเล็กชันซึ่งเป็นประเภทคลาสฐานนามธรรมซึ่งบรรจุโดยประเภทที่ได้จากคอนกรีต ฉันคิดว่ามันจะเป็นการดีที่จะเพิ่มแอตทริบิวต์ XML ให้กับคลาสทั้งหมดที่เกี่ยวข้องและทุกอย่างจะเป็นสีพีช น่าเศร้าที่ไม่เป็นเช่นนั้น! ดังนั้นฉันได้ทำการขุดใน Google และตอนนี้ฉันเข้าใจแล้วว่าทำไมมันถึงไม่ทำงาน ในความXmlSerializerเป็นจริงแล้วการสะท้อนที่ชาญฉลาดเพื่อทำให้วัตถุเป็นอนุกรมเป็น / จาก XML และเนื่องจากมันขึ้นอยู่กับประเภทนามธรรมจึงไม่สามารถเข้าใจได้ว่ามันกำลังพูดถึงอะไร ละเอียด. ฉันเจอหน้านี้ใน CodeProject ซึ่งดูเหมือนว่ามันอาจช่วยได้มาก (ยังอ่าน / ใช้อย่างเต็มที่) แต่ฉันคิดว่าฉันอยากจะนำปัญหานี้ไปที่ตาราง StackOverflow ด้วยเพื่อดูว่าคุณเรียบร้อยหรือไม่ แฮ็ก / เทคนิคเพื่อให้สิ่งนี้เริ่มต้นใช้งานได้เร็วที่สุด / เบาที่สุด สิ่งหนึ่งที่ฉันควรเพิ่มก็คือฉันไม่ต้องการไปตามXmlIncludeเส้นทาง มีการเชื่อมต่อกับมันมากเกินไปและพื้นที่นี้ของระบบอยู่ระหว่างการพัฒนาอย่างหนักดังนั้นจึงน่าจะเป็นเรื่องที่น่าปวดหัวในการบำรุงรักษาอย่างแท้จริง!

5
วิธีการตั้งค่าตัวเลือกเริ่มต้นทั่วโลกสำหรับ System.Text.Json.JsonSerializer?
อัปเดต [2019-12-23]: ครบกำหนดในส่วนของอินพุตชุมชนแกนนำปัญหานี้ได้ถูกเพิ่มไปยังแผนงานสำหรับ. NET 5.0 อัปเดต [2019-10-10]: หากสนใจที่จะเห็นพฤติกรรมนี้ถูกนำไปใช้System.Text.Json.JsonSerializerตรงไปที่ปัญหา GitHub แบบเปิดที่ชี้โดยChris Yungmannและชั่งน้ำหนัก แทนสิ่งนี้: JsonSerializerOptions options = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase // etc. }; JsonSerializer.Deserialize<SomeObject>(someJsonString, options); ฉันต้องการทำสิ่งนี้: // This property is a pleasant fiction JsonSerializer.DefaultSettings = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase // etc. }; // This uses my options …

3
การแปลงรหัส newtonsoft เป็น System.Text.Json ใน. net core 3 สิ่งที่เทียบเท่ากับ JObject.Parse และ JsonProperty
ฉันกำลังแปลงการใช้งาน newtonsoft เป็นไลบรารี JSON ใหม่ใน. net core 3.0 ฉันมีรหัสต่อไปนี้ public static bool IsValidJson(string json) { try { JObject.Parse(json); return true; } catch (Exception ex) { Logger.ErrorFormat("Invalid Json Received {0}", json); Logger.Fatal(ex.Message); return false; } } ฉันไม่สามารถหาสิ่งที่เทียบเท่าได้ JObject.Parse(json); นอกจากนี้สิ่งที่จะJsonPropertyเทียบเท่าคุณลักษณะ public class ResponseJson { [JsonProperty(PropertyName = "status")] public bool Status { get; …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.