C# 在匿名类型中包含字典,然后序列化以形成json
在下面的代码中,我有一个字典“nissi_params_fields”,我用参数填充了它:C# 在匿名类型中包含字典,然后序列化以形成json,c#,json,dictionary,idictionary,C#,Json,Dictionary,Idictionary,在下面的代码中,我有一个字典“nissi_params_fields”,我用参数填充了它: Dictionary<string, string> nissi_params_fields = new Dictionary<string, string>(); string[] separator = { "," }; string[] dfields = form_fields.Split(separator, StringSplitOptions.RemoveEmptyE
Dictionary<string, string> nissi_params_fields = new Dictionary<string, string>();
string[] separator = { "," };
string[] dfields = form_fields.Split(separator, StringSplitOptions.RemoveEmptyEntries);
string[] ffields = db_fields.Split(separator, StringSplitOptions.RemoveEmptyEntries);
foreach (var field in ffields)
{
NissiMain nm = new NissiMain();
object field_object = nm.nissi_get_object_by_name(field);
string fieldvalue = nm.nissi_get_object_value_by_name(field_object);
nissi_params_fields[field] = fieldvalue;
this.nissiSetStorageItem(save_page, field, fieldvalue);
}
nissi_params_fields["company_id"] = this.nissiGetStorageItem("nissi_base", "ni_companyID");
string nissi_params_id = "";
if (save_type == "edit")
{
nissi_params_fields["id"] = this.nissiGetStorageItem(save_page, "id");
nissi_params_id = this.nissiGetStorageItem(save_page, "id");
}
挑战是如何将字典转换为对象…我该如何做
现在,我想在匿名类型中包含转换后的对象“nissi_params_fields_object”,然后使用Newtonsoft JObject将整个对象序列化为JSON:
JObject nissi_params_object = JObject.FromObject(new
{
apikey = this.nissiGetStorageItem("nissi_base", "ni_apiKey"),
company_id = this.nissiGetStorageItem("nissi_base", "ni_companyID"),
id = nissi_params_id,
fields = nissi_params_fields_object,
});
如果只想对对象进行JSON序列化,可以执行以下操作:
string jsonString = JsonConvert.SerializeObject(nissi_params_object);
然后将jsonString附加到URL。为什么要转换字典?谢谢pravprab!我只想以/url.php?nissi_request=MyRequest&nissi_params={“apikey”:“xxyyzz”,“company_id”:“1”,fields={“lastname”:“hello”,“firstname”:“world”}
string jsonString = JsonConvert.SerializeObject(nissi_params_object);