Ejemplo n.º 1
0
 private void WriteJson(SimoJson json, ISimoBsonWriter writer)
 {
     WriteAsBson(json.ToKeyValue(), writer);
 }
Ejemplo n.º 2
0
 private void WriteAsBson(object value, ISimoBsonWriter writer)
 {
     writer.Write(value);
 }
Ejemplo n.º 3
0
 private void WriteJson(SimoJson json, ISimoBsonWriter writer)
 {
     WriteAsBson(json.ToKeyValue(), writer);
 }
Ejemplo n.º 4
0
 private void WriteAsBson(object value, ISimoBsonWriter writer)
 {
     writer.Write(value);
 }
Ejemplo n.º 5
0
        private void WriteJson(SimoJson json, ISimoBsonWriter writer)
        {
            var dval = json.ToKeyValue();
            Dictionary<string, object> dvalTo = new Dictionary<string, object>();
            foreach (KeyValuePair<string, object> kv in dval)
            {
                if ((kv.Key == "_id" || kv.Key[0] == '!') && kv.Value.GetType() == typeof(string))
                {
                    string val = kv.Value as string;
                    if (val.StartsWith("-oid-"))
                    {
                        val = val.Substring(5);
                        byte[] nv = Convert.FromBase64String(val);

                        dvalTo.Add((kv.Key[0] == '!') ? kv.Key.Substring(1) : "_id", new Newtonsoft.Json.Bson.BsonObjectId(nv));
                    }
                }
                else
                {
                    dvalTo.Add(kv.Key, kv.Value);
                }
            }
            WriteAsBson(dvalTo, writer);
        }