public static LightJson.JsonValue LJ_Value(this AC_Req ac_req) { LightJson.JsonObject Jobj = new LightJson.JsonObject(); Jobj.Add("arg", ac_req.arg); Jobj.Add("offs", ac_req.offs); return(addTypeTag(Jobj, ac_req)); }
public static CMD_Base CMD_from_JSonValue(LightJson.JsonObject cmd_jObj) { string type_tag = cmd_jObj["cmd"]; if (type_tag == "AC_Req") { return new AC_Req { arg = cmd_jObj["arg"], offs = cmd_jObj["offs"] } } ; if (type_tag == "AC_Resp") { return new AC_Resp { suggs = cmd_jObj["suggs"].AsJsonArray.Select(s => s.AsString).ToArray(), nu_offs = cmd_jObj["nu_offs"], toks = toks_form_JSonValue(cmd_jObj["toks"]).ToArray(), msg = cmd_jObj["msg"], toks_changed = cmd_jObj["toks_changed"] } } ; if (type_tag == "EVAL_Req") { return(new EVAL_Req { expr = cmd_jObj["expr"] }); } if (type_tag == "EVAL_Resp") { return(new EVAL_Resp { result = cmd_jObj["result"].AsJsonArray.Select(s => s.AsString).ToArray(), msg = cmd_jObj["msg"], success = cmd_jObj["success"] }); } if (type_tag == "TYPEINFO_Req") // only need deserialization of request atm , only one direction of this is implemented in any c# parts { return(new TYPEINFO_Req { expression = cmd_jObj["expression"] }); } throw new NotImplementedException(); } #endregion }
public static LightJson.JsonObject addTypeTag(LightJson.JsonObject jObj, CMD_Base cmd_base) { return(jObj.Add("cmd", cmd_base.GetType().Name)); }
public JsonObjectDebugView(JsonObject jsonObject) { this.jsonObject = jsonObject; }