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

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

5
Json.NET สามารถทำให้เป็นอนุกรม / ดีซีเรียลไลซ์เป็น / จากกระแสได้หรือไม่?
ฉันได้ยินมาว่า Json.NET เร็วกว่า DataContractJsonSerializer และต้องการลอง ... แต่ฉันไม่พบวิธีการใด ๆ ใน JsonConvert ที่รับกระแสข้อมูลแทนที่จะเป็นสายอักขระ สำหรับการดีซีเรียลไลซ์ไฟล์ที่มี JSON บน WinPhone ฉันใช้รหัสต่อไปนี้เพื่ออ่านเนื้อหาของไฟล์ลงในสายอักขระแล้วจึงทำการ deserialize ให้เป็น JSON ดูเหมือนว่าจะช้ากว่าการทดสอบของฉัน (เฉพาะกิจมาก) ประมาณ 4 เท่าเมื่อเทียบกับการใช้ DataContractJsonSerializer เพื่อทำการ deserialize โดยตรงจากสตรีม ... // DCJS DataContractJsonSerializer dc = new DataContractJsonSerializer(typeof(Constants)); Constants constants = (Constants)dc.ReadObject(stream); // JSON.NET string json = new StreamReader(stream).ReadToEnd(); Constants constants = …

14
เมื่อใดและเพราะเหตุใดเอนทิตี JPA ควรใช้อินเตอร์เฟสที่สามารถทำให้เป็นอนุกรมได้
คำถามอยู่ในชื่อเรื่อง ด้านล่างฉันเพิ่งอธิบายความคิดและข้อสรุปบางอย่างของฉัน เมื่อฉันมีรูปแบบโดเมนที่ง่ายมาก (3 ตารางโดยไม่มีความสัมพันธ์ใด ๆ ) องค์กรของฉันทั้งหมดไม่ได้ใช้ Serializable แต่เมื่อโมเดลโดเมนมีความซับซ้อนมากขึ้นฉันก็มี RuntimeException ซึ่งบอกว่าหนึ่งในเอนทิตีของฉันไม่ได้ใช้ Serializable ฉันใช้ Hibernate เป็นการนำ JPA ไปใช้ ฉันสงสัยว่า: มันเป็นข้อกำหนด / พฤติกรรมเฉพาะของผู้ขายหรือไม่? เกิดอะไรขึ้นกับเอนทิตีที่เป็นอนุกรมของฉัน พวกเขาควรจะเป็นแบบอนุกรมสำหรับการจัดเก็บหรือถ่ายโอน? ในขณะใดที่จำเป็นต้องทำให้เอนทิตีของฉันเป็นอนุกรม?

13
วิธีการทำให้เป็นอันดับวัตถุเป็นสตริง
ฉันสามารถทำให้วัตถุเป็นอนุกรมเป็นไฟล์จากนั้นเรียกคืนอีกครั้งตามที่แสดงในข้อมูลโค้ดถัดไป ฉันต้องการทำให้วัตถุเป็นอนุกรมและจัดเก็บลงในฐานข้อมูลแทน มีใครช่วยฉันบ้าง LinkedList<Diff_match_patch.Patch> patches = // whatever... FileOutputStream fileStream = new FileOutputStream("foo.ser"); ObjectOutputStream os = new ObjectOutputStream(fileStream); os.writeObject(patches1); os.close(); FileInputStream fileInputStream = new FileInputStream("foo.ser"); ObjectInputStream oInputStream = new ObjectInputStream(fileInputStream); Object one = oInputStream.readObject(); LinkedList<Diff_match_patch.Patch> patches3 = (LinkedList<Diff_match_patch.Patch>) one; os.close();

8
JSON เป็นอนุกรมที่ตั้งได้อย่างไร?
ฉันมีงูหลามsetที่มีวัตถุด้วย__hash__และ__eq__วิธีการเพื่อให้แน่ใจว่าไม่มีการซ้ำซ้อนจะรวมอยู่ในคอลเลกชัน ฉันจำเป็นต้องเข้ารหัส JSON ผลนี้setแต่ผ่านแม้ที่ว่างเปล่าsetกับวิธีการยกjson.dumpsTypeError File "/usr/lib/python2.7/json/encoder.py", line 201, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode return _iterencode(o, 0) File "/usr/lib/python2.7/json/encoder.py", line 178, in default raise TypeError(repr(o) + " is not JSON serializable") TypeError: set([]) is not JSON serializable ฉันรู้ว่าฉันสามารถสร้างส่วนขยายไปยังjson.JSONEncoderระดับที่มีกำหนดเองdefaultวิธี setแต่ผมไม่แน่ใจว่าจะเริ่มต้นในการแปลงมากกว่า ฉันควรสร้างพจนานุกรมจากsetค่าภายในวิธีการเริ่มต้นแล้วส่งคืนการเข้ารหัสที่? เป็นการดีที่ฉันต้องการให้วิธีการเริ่มต้นสามารถจัดการกับประเภทข้อมูลทั้งหมดที่ตัวเข้ารหัสดั้งเดิมทำให้เกิด (ฉันใช้ Mongo เป็นแหล่งข้อมูลดังนั้นวันที่ดูเหมือนจะทำให้เกิดข้อผิดพลาดนี้ด้วย) …



10
ทำให้เป็นอันดับคลาสที่ประกอบด้วยสมาชิกพจนานุกรม
เมื่อขยายจากปัญหาก่อนหน้าของฉันฉันได้ตัดสินใจที่จะ (de) จัดลำดับคลาสไฟล์ปรับแต่งของฉันซึ่งใช้งานได้ดี ตอนนี้ฉันต้องการที่จะเก็บอาเรย์ของตัวอักษรไดรฟ์เพื่อ map (ที่สำคัญคือไดรฟ์ค่าเป็นเส้นทางเครือข่าย) และได้พยายามใช้Dictionary, HybridDictionaryและHashtableสำหรับเรื่องนี้ แต่ผมเคยได้รับข้อผิดพลาดต่อไปนี้เมื่อเรียกConfigFile.Load()หรือConfigFile.Save(): เกิดข้อผิดพลาดในการระบุประเภท 'App.ConfigFile' [snip] System.NotSupportedException: ไม่สามารถทำให้อนุกรมสมาชิก App.Configfile.mappedDrives [snip] จากสิ่งที่ฉันอ่านพจนานุกรมและ HashTables สามารถทำให้เป็นอนุกรมได้ฉันจะทำอย่างไรผิด [XmlRoot(ElementName="Config")] public class ConfigFile { public String guiPath { get; set; } public string configPath { get; set; } public Dictionary<string, string> mappedDrives = new Dictionary<string, string>(); public Boolean Save(String filename) …

6
แปลงสตริงเป็น Enum ใน Python
ฉันสงสัยว่าวิธีที่ถูกต้องในการแปลง (deserializing) สตริงเป็นคลาส Enum ของ Python คืออะไร ดูเหมือนgetattr(YourEnumType, str)จะได้ผล แต่ฉันไม่แน่ใจว่าปลอดภัยเพียงพอหรือไม่ เพื่อให้เจาะจงมากขึ้นฉันต้องการแปลง'debug'สตริงเป็นอ็อบเจ็กต์ Enum ดังนี้: class BuildType(Enum): debug = 200 release = 400

13
มันเป็นไปได้ที่จะทำให้เป็นอันดับและ deserialize ชั้นใน C + +?
มันเป็นไปได้ที่จะทำให้เป็นอันดับและ deserialize ชั้นใน C + +? ฉันใช้ Java มา 3 ปีแล้วและการซีเรียลไลซ์เซชั่น / ดีซีเรียลไลเซชันเป็นเรื่องเล็กน้อยในภาษานั้น C ++ มีคุณสมบัติที่คล้ายกันหรือไม่ มีไลบรารีดั้งเดิมที่จัดการการทำให้เป็นอันดับหรือไม่ ตัวอย่างจะเป็นประโยชน์
138 c++  serialization 

5
Deserialize จากสตริงแทน TextReader
ฉันต้องการเปลี่ยนรหัสจาก: string path = @"c:\Directory\test.xml"; XmlSerializer s = new XmlSerializer(typeof(Car)); TextReader r = new StreamReader(path); Car car = (Car)s.Deserialize(r); r.Close(); เป็นรหัสที่จะแปลง XML เป็นสตริงแล้วแปลงสตริงเป็นรถวัตถุ เป็นไปได้หรือไม่
138 c#  xml  serialization 

6
Performant Entity Serialization: BSON vs MessagePack (เทียบกับ JSON)
เมื่อเร็ว ๆ นี้ฉันพบMessagePackซึ่งเป็นรูปแบบอนุกรมไบนารีทางเลือกสำหรับProtocol BuffersและJSONของ Googleซึ่งมีประสิทธิภาพดีกว่าทั้งสองอย่าง นอกจากนี้ยังมีBSONรูปแบบอนุกรมที่ MongoDB ใช้ในการจัดเก็บข้อมูล ใครสามารถอธิบายความแตกต่างและข้อดี / ข้อได้เปรียบของ BSON vs MessagePack ได้หรือไม่? เพียงแค่ให้เสร็จสมบูรณ์รายการ performant รูปแบบอนุกรมไบนารี: นอกจากนี้ยังมีGobs ซึ่งกำลังจะเป็นตัวตายตัวแทนของของ Google พิธีสารบัฟเฟอร์ อย่างไรก็ตามในทางตรงกันข้ามกับรูปแบบอื่น ๆ ที่กล่าวถึงทั้งหมดที่ไม่เข้าใจภาษาและอาศัยการสะท้อนในตัวของ Goนอกจากนี้ยังมีไลบรารี Gobs สำหรับภาษาอื่นที่ไม่ใช่ Go

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




โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.