Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在匿名类型中包含字典,然后序列化以形成json_C#_Json_Dictionary_Idictionary - Fatal编程技术网

C# 在匿名类型中包含字典,然后序列化以形成json

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

在下面的代码中,我有一个字典“nissi_params_fields”,我用参数填充了它:

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);