次のコードには、パラメーターを入力した辞書「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_fields" を、Newtonsoft JObject "nissi_params_object" で使用できるオブジェクト "nissi_params_fields_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,
});