Example #1
0
        public virtual byte[] SerializeFronJObject(Newtonsoft.Json.Linq.JObject jobject)
        {
            m_memoryStream.Position = 0;

            jobject.WriteTo(m_bsonWriter);

            byte[] blob = new byte[m_memoryStream.Position];
            Buffer.BlockCopy(m_memoryStream.GetBuffer(), 0, blob, 0, (int)m_memoryStream.Position);

            return(blob);
        }
        public override void WriteJson(JsonWriter writer, SCNVector3 value, JsonSerializer serializer)
        {
            var @object = new Newtonsoft.Json.Linq.JObject
            {
                { "X", Newtonsoft.Json.Linq.JToken.FromObject(value.X) },
                { "Y", Newtonsoft.Json.Linq.JToken.FromObject(value.Y) },
                { "Z", Newtonsoft.Json.Linq.JToken.FromObject(value.Z) }
            };

            @object.WriteTo(writer);
        }
Example #3
0
        public override void WriteJson(JsonWriter writer, SCNMatrix4 value, JsonSerializer serializer)
        {
            var @object = new Newtonsoft.Json.Linq.JObject
            {
                { "Row0", Newtonsoft.Json.Linq.JToken.FromObject(value.Row0, serializer) },
                { "Row1", Newtonsoft.Json.Linq.JToken.FromObject(value.Row1, serializer) },
                { "Row2", Newtonsoft.Json.Linq.JToken.FromObject(value.Row2, serializer) },
                { "Row3", Newtonsoft.Json.Linq.JToken.FromObject(value.Row3, serializer) },
            };

            @object.WriteTo(writer);
        }
Example #4
0
        //为了简化通讯协议,TCP用bson,http用JSON
        //Newtonsoft.Json 和  Newtonsoft.Json.Bson
        static void Main(string[] args)
        {
            Newtonsoft.Json.Linq.JValue  v   = new Newtonsoft.Json.Linq.JValue(11.0);
            Newtonsoft.Json.Linq.JObject obj = new Newtonsoft.Json.Linq.JObject();
            obj["abc"] = v;
            var stream = new System.IO.MemoryStream();

            Newtonsoft.Json.Bson.BsonDataWriter w = new Newtonsoft.Json.Bson.BsonDataWriter(stream);
            obj.WriteTo(w);
            var bts = stream.ToArray();

            Newtonsoft.Json.Bson.BsonDataReader r = new Newtonsoft.Json.Bson.BsonDataReader(new System.IO.MemoryStream(bts));
            var token = Newtonsoft.Json.Linq.JToken.ReadFrom(r);

            Console.WriteLine("Hello World!");

            var tree = Microsoft.CodeAnalysis.CSharp.CSharpSyntaxTree.ParseText("class A{public  int aaa(){return 3+4;}}");

            var op   = new CSharpCompilationOptions(Microsoft.CodeAnalysis.OutputKind.DynamicallyLinkedLibrary);
            var ref1 = MetadataReference.CreateFromFile("needlib" + System.IO.Path.DirectorySeparatorChar + "mscorlib.dll");
            var comp = Microsoft.CodeAnalysis.CSharp.CSharpCompilation.Create("aaa.dll", new[] { tree },
                                                                              new[] { ref1 }, op);
            var ms     = new System.IO.MemoryStream();
            var mspdb  = new System.IO.MemoryStream();
            var result = comp.Emit(ms, mspdb);

            Console.WriteLine("result=" + result.Success);
            Console.WriteLine("dll=" + ms.Length);
            Console.WriteLine("pdb=" + mspdb.Length);
            System.IO.File.WriteAllBytes("111.dll", ms.ToArray());
            System.IO.File.WriteAllBytes("111.pdb", mspdb.ToArray());
            foreach (var d in result.Diagnostics)
            {
                Console.WriteLine(d.Descriptor.Description.ToString());
                Console.WriteLine(d.Descriptor.Title.ToString());
                Console.WriteLine(d.Descriptor.Category);
                Console.WriteLine(d.Descriptor.MessageFormat.ToString());
            }
            Console.WriteLine("rosyln ok.");
        }
Example #5
0
            public override void WriteJson(JsonWriter writer, [AllowNull] EventData value, JsonSerializer serializer)
            {
                if (value == null)
                {
                    serializer.Serialize(writer, null);
                    return;
                }

                var jObject = new Newtonsoft.Json.Linq.JObject();

                jObject["type"] = value.GetType().Name.TrimEnd("EventData");
                foreach (var property in value.GetType().GetProperties())
                {
                    var propValue = property.GetValue(value);
                    if (propValue == null)
                    {
                        continue;
                    }
                    jObject[property.Name] = Newtonsoft.Json.Linq.JToken.FromObject(propValue, serializer);
                }
                jObject.WriteTo(writer);
            }
        public override void ExecuteResult(System.Web.Mvc.ControllerContext context)
        {
            System.Web.HttpResponseBase response = context.HttpContext.Response;
            response.ContentType     = "application/json";
            response.ContentEncoding = System.Text.Encoding.UTF8;

            Newtonsoft.Json.JsonSerializer serializer = new Newtonsoft.Json.JsonSerializer();

            using (System.IO.StreamWriter sw = new System.IO.StreamWriter(response.OutputStream))
            {
                using (Newtonsoft.Json.JsonTextWriter writer = new Newtonsoft.Json.JsonTextWriter(sw))
                {
                    writer.WriteStartArray();
                    foreach (object item in itemsToSerialize)
                    {
                        Newtonsoft.Json.Linq.JObject obj =
                            Newtonsoft.Json.Linq.JObject.FromObject(item, serializer);
                        obj.WriteTo(writer);
                        writer.Flush();
                    } // Next item
                    writer.WriteEndArray();
                }     // End using writer
            }         // End Using sw
        }
Example #7
0
        //为了简化通讯协议,TCP用bson,http用JSON
        //Newtonsoft.Json 和  Newtonsoft.Json.Bson
        static void Main(string[] args)
        {
            Newtonsoft.Json.Linq.JValue  v   = new Newtonsoft.Json.Linq.JValue(11.0);
            Newtonsoft.Json.Linq.JObject obj = new Newtonsoft.Json.Linq.JObject();
            obj["abc"] = v;
            var stream = new System.IO.MemoryStream();

            Newtonsoft.Json.Bson.BsonDataWriter w = new Newtonsoft.Json.Bson.BsonDataWriter(stream);
            obj.WriteTo(w);
            var bts = stream.ToArray();

            Newtonsoft.Json.Bson.BsonDataReader r = new Newtonsoft.Json.Bson.BsonDataReader(new System.IO.MemoryStream(bts));
            var token = Newtonsoft.Json.Linq.JToken.ReadFrom(r);

            Console.WriteLine("Hello World!");

            var tree = Microsoft.CodeAnalysis.CSharp.CSharpSyntaxTree.ParseText("class A{public  int aaa(){return 3;}}");

            var op   = new CSharpCompilationOptions(Microsoft.CodeAnalysis.OutputKind.DynamicallyLinkedLibrary);
            var ref1 = MetadataReference.CreateFromFile("needlib\\mscorlib.dll");
            var comp = Microsoft.CodeAnalysis.CSharp.CSharpCompilation.Create("aaa.dll", new[] { tree },
                                                                              new[] { ref1 }, op);
            var result = comp.Emit("e:\\111.dll", pdbPath: "e:\\111.pdb");
        }