public static dynamic GetDynamicJsonObject(Stream xmlStream) { var xmlDoc = XDocument.Load(xmlStream); return(JsonObject.GetDynamicJsonObject(XmlToJObject(xmlDoc.Root))); }
public override bool TryGetMember(GetMemberBinder binder, out object result) { result = null; if (_object is JArray) { JArray jArray = _object as JArray; switch (binder.Name) { case "Length": case "Count": result = jArray.Count; break; case "ToList": result = (Func<List<string>>)(() => jArray.Values().Select(x => x.ToString()).ToList()); break; case "ToArray": result = (Func<string[]>)(() => jArray.Values().Select(x => x.ToString()).ToArray()); break; } return true; } JObject jObject = _object as JObject; object obj = jObject.SelectToken(binder.Name); if (obj == null) return true; if (obj is JValue) result = GetValue(obj); else result = new JsonObject(obj); return true; }
public static dynamic GetDynamicJsonObject(string xmlString) { var xmlDoc = XDocument.Load(new StringReader(xmlString)); return(JsonObject.GetDynamicJsonObject(XmlToJObject(xmlDoc.Root))); }