以匿名类型包含Dictionary,然后序列化为json

本文关键字:然后 序列化 json Dictionary 类型 包含 | 更新日期: 2023-09-27 17:57:34

在下面的代码中,我有一个字典"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"字典作为一个单独的字段"fields",所以我首先尝试将"nissi-params_field"转换为一个对象"nissi/params_fields_object",我可以在Newtonsoft JObject"nissi_params_object"中使用:

object nissi_params_fields_object = nissi_params_fields.ToArray();

挑战在于如何将字典转换为对象。。。我该怎么做?

我现在想将转换后的对象"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,
});

以匿名类型包含Dictionary,然后序列化为json

如果你只想JSON序列化对象,你可以做:

string jsonString = JsonConvert.SerializeObject(nissi_params_object);

然后将jsonString附加到URL。