// Here be formatting dragons public static string Json(dynamic input) { string json = new JavaScriptSerializer().Serialize(input); json = keywords_tab_level_1.Aggregate(json, (current, s) => current.Replace("\"" + s + "\":", Environment.NewLine + "\t\"" + s + "\":")); json = keywords_tab_level_2.Aggregate(json, (current, s) => current.Replace("\"" + s + "\":", Environment.NewLine + "\t\t\"" + s + "\":")); json = keywords_tab_level_3.Aggregate(json, (current, s) => current.Replace("\"" + s + "\":", Environment.NewLine + "\t\t\t\"" + s + "\":")); json = json.Replace("}},", Environment.NewLine + "\t\t}" + Environment.NewLine + "\t},"); //json = json.Substring(0, json.Length - 2) + (json.Substring(0, json.Length - 2).Contains("\"")?"\"":"") + Environment.NewLine + "\t}" + Environment.NewLine + "}"; json = json.Replace("\\u0027", "'"); return json; }
public string GetJSONStock(int day) { foreach(SheepBO anim in this.Herd) { if (anim.Age.Value >= 1000) this.Herd.Remove(anim); } HerdResponse resp = new HerdResponse(this.Herd); string json = new JavaScriptSerializer().Serialize(resp); return json.Replace("_", "-"); }
public static HarmonyDocument IRCommandDocument(string deviceId, string command) { var document = new HarmonyDocument(); var element = new Element("oa"); element.Attributes.Add("xmlns", "connect.logitech.com"); element.Attributes.Add("mime", "vnd.logitech.harmony/vnd.logitech.harmony.engine?holdAction"); var action = new HarmonyAction { type = "IRCommand", deviceId = deviceId, command = command }; var json = new JavaScriptSerializer().Serialize(action); // At this point our valid json won't work - we need to break it so it looks like: // {"type"::"IRCommand","deviceId"::"deviceId","command"::"command"} // note double colons json = json.Replace(":", "::"); element.Value = string.Format("action={0}:status=press", json); document.AddChild(element); return document; }
//Tests the value returned by the LoadVideoMgmt method private void TestReturnValue(ActionResult result, string expectedMrdvrResult, string expectedDeviceActionResponse) { //Assert Assert.IsTrue(result != null, "result is null"); //A partial view result is returned var resultPartial = result as PartialViewResult; Assert.IsTrue(resultPartial != null, "resultPartial is null"); //It was the right type of partial view result Assert.IsTrue(resultPartial.ViewName.Equals("VideoManagement_Partial"), "Expected resultPartial.ViewName to be VideoManagement_Partial. It was actually " + resultPartial.ViewName + "."); //It has the correct information //Model is not null var model = resultPartial.Model; Assert.IsNotNull(model); //Model response is correct var modelResponse = model.ToJSON(); string modelResponseString = new JavaScriptSerializer().Serialize(modelResponse); modelResponseString = modelResponseString.Replace(@"\", " "); modelResponseString = modelResponseString.Replace(@"""", @" "); Assert.IsTrue(modelResponseString.Contains(expectedMrdvrResult), "MRDVR Service was not found"); //Compare the expected DeviceActionResponse int startResponse = modelResponseString.IndexOf("DeviceActionResponse", System.StringComparison.Ordinal); int endResponse = modelResponseString.IndexOf("NewDeviceSerial", System.StringComparison.Ordinal); string actualDeviceResponse = modelResponseString.Substring(startResponse, (endResponse - startResponse) - 1); Assert.IsTrue(modelResponseString.Contains(expectedDeviceActionResponse), "DeviceActionResponse had an unexpected value. Expected: " + expectedDeviceActionResponse + ", Actual: " + actualDeviceResponse + "."); //Model is correct type Assert.IsTrue(model is VideoManagementModel, "Model is not a VideoManagementModel as expected"); }
public ActionResult Home() { ViewData.Model = eventmodel.getEvents(defaultappid, 5); //create the json list with fullcalendar event properties List<fullcalendar_event> jsonlist = new List<fullcalendar_event>(); fullcalendar_event fc_event; foreach (novaevent ne in (List<novaevent>)ViewData.Model)//selectedEvents.Take(5).ToList()) { fc_event = new fullcalendar_event(); fc_event.allDay = false; fc_event.title = ne.EventName; fc_event.start = ne.EventStart.ToString("yyyy-MM-dd") + " " + ne.EventStart.ToString("HH:mm"); fc_event.end = ne.EventEnd.ToString("yyyy-MM-dd") + " " + ne.EventEnd.ToString("HH:mm"); fc_event.url = "../Events/Details?id=" + ne.EventID; fc_event.id = ne.EventID; jsonlist.Add(fc_event); } JsonResult eventjson = this.Json(jsonlist); Object jsondata = eventjson.Data; string serialized = new JavaScriptSerializer().Serialize(jsondata); string replaced = serialized.Replace("\"\\/Date(", "Date(").Replace(")\\/\"", ")"); ViewData["eventlistjson"] = replaced; return View(); }
public static HarmonyDocument SequenceDocument(int sequenceId) { var document = new HarmonyDocument(); var element = new Element("oa"); element.Attributes.Add("xmlns", "connect.logitech.com"); element.Attributes.Add("mime", "vnd.logitech.harmony/vnd.logitech.harmony.engine?holdAction"); var action = new HarmonySequenceAction { sequenceId = sequenceId }; var json = new JavaScriptSerializer().Serialize(action); // At this point our valid json won't work - we need to break it so it looks like: // {"sequenceId"::123} // note double colons json = json.Replace(":", "::"); element.Value = string.Format("action={0}:status=press", json); document.AddChild(element); return document; }