0

次のコードには、パラメーターを入力した辞書「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,
});
4

1 に答える 1

0

オブジェクトをJSONシリアル化するだけの場合は、次のことができます。

string jsonString = JsonConvert.SerializeObject(nissi_params_object);

次に、jsonString を URL に追加します。

于 2014-04-09T08:42:56.307 に答える