void Test01() { ION root = new Dictionary <string, ION> { { "name", "orz" }, { "type", "ION" }, { "size", 5 }, { "append", new Dictionary <string, ION> { { "a", (short)10 }, { "b", (long)5 }, { "c", (byte)12 }, { "d", 0 }, { "sum", (int)27 } } }, { "height", new List <ION> { 3.2f, 4.3, 4.5, } } }; Debug.Log(root); MemoryStream memoryStream = new MemoryStream(); root.Write(memoryStream); Debug.Log(memoryStream.ToArray().Length); memoryStream.Seek(0, SeekOrigin.Begin); root = ION.Read(memoryStream); Debug.Log(root); }
internal override void ReadContent(Stream stream) { byte[] buffer = new byte[4]; stream.Read(buffer, 0, 4); int count = System.BitConverter.ToInt32(buffer, 0); data = new List <ION>(); for (int i = 0; i < count; ++i) { data.Add(ION.Read(stream)); } }
internal override void ReadContent(Stream stream) { data = new Dictionary <string, ION>(); while (true) { byte[] buffer = new byte[2]; stream.Read(buffer, 0, 2); short count = System.BitConverter.ToInt16(buffer, 0); if (count == 0) { break; } buffer = new byte[count]; stream.Read(buffer, 0, count); string key = System.Text.Encoding.UTF8.GetString(buffer); ION value = ION.Read(stream); data.Add(key, value); } }