public static GenericJsonCollection DeserializeFromStream(System.IO.Stream stream) { var serializer = new Newtonsoft.Json.JsonSerializer(); serializer.TypeNameHandling = TypeNameHandling.All; serializer.TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple; Dictionary <string, object> obj = null; using (var sr = new StreamReader(stream)) using (var jsonTextReader = new JsonTextReader(sr)) { obj = serializer.Deserialize <Dictionary <string, object> >(jsonTextReader); } JContainer items = (JContainer)obj["items"]; GenericJsonCollection collection = new GenericJsonCollection(); collection.items = new List <GenericJsonItem>(); foreach (var item in items) { GenericJsonItem it = new GenericJsonItem(item.ToObject <Dictionary <string, object> >()); collection.items.Add(it); } return(collection); }
public static IElasticCollection CreateFromOpenSearchResultCollection(IOpenSearchResultCollection results) { if (results is GenericJsonCollection) { return((GenericJsonCollection)results); } GenericJsonCollection collection = new GenericJsonCollection(); collection.links = results.Links; foreach (IOpenSearchResultItem result in results.Items) { var item = GenericJsonItem.FromOpenSearchResultItem(result); collection.items.Add(item); } return(collection); }
public new static GenericJsonItem FromOpenSearchResultItem(IOpenSearchResultItem result) { if (result is GenericJsonItem) { return((GenericJsonItem)result); } GenericJsonItem item = new GenericJsonItem(); item.Identifier = result.Identifier; item.Date = result.Date; foreach (SyndicationElementExtension ext in result.ElementExtensions) { XmlDocument doc = new XmlDocument(); doc.Load(ext.GetReader()); var obj = JsonConvert.DeserializeObject <Dictionary <string, object> >(JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.None, false)); item.payload.Add(ext.OuterName, obj[ext.OuterName]); } return(item); }
public string ToJson(GenericJsonItem gj) { return JsonConvert.SerializeObject(gj.payload); }
public static new GenericJsonItem FromOpenSearchResultItem(IOpenSearchResultItem result) { if (result is GenericJsonItem) return (GenericJsonItem)result; GenericJsonItem item = new GenericJsonItem(); item.Identifier = result.Identifier; item.Date = result.Date; foreach (SyndicationElementExtension ext in result.ElementExtensions) { XmlDocument doc = new XmlDocument(); doc.Load(ext.GetReader()); var obj = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.None, false)); item.payload.Add(ext.OuterName, obj[ext.OuterName]); } return item; }
public static GenericJsonCollection DeserializeFromStream(System.IO.Stream stream) { var serializer = new Newtonsoft.Json.JsonSerializer(); serializer.TypeNameHandling = TypeNameHandling.All; serializer.TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple; Dictionary<string, object> obj = null; using (var sr = new StreamReader(stream)) using (var jsonTextReader = new JsonTextReader(sr)) { obj = serializer.Deserialize<Dictionary<string, object>>(jsonTextReader); } JContainer items = (JContainer)obj["items"]; GenericJsonCollection collection = new GenericJsonCollection(); collection.items = new List<GenericJsonItem>(); foreach (var item in items) { GenericJsonItem it = new GenericJsonItem(item.ToObject<Dictionary<string, object>>()); collection.items.Add(it); } return collection; }
public string ToJson(GenericJsonItem gj) { return(JsonConvert.SerializeObject(gj.payload)); }