0

私は、ASP.net MVC 3.0 で Web サービスを使用する新しいものです。今、私のチームには別のメンバーがいます。彼らは Web サービスを開発し、URL を私に渡しhttp://localhost:55274/iServices/Generics/Setting.svc/GetSetting/、JSON データを受け取りました。

{"ID":1,"MailAccount":"blahbla.com","MailPassword":"password","SMTP":"smtp.test.com","SMTPPort":500,"SSL":false}

今、その JSON を ASP.net MVC 3 のクラスで使用して、メール システム設定を提供しようとしています。私は2つのクラスを作成しました:

public class iceEmailObject
{
    public int ID { set; get; }
    public String SMTP { set; get; }
    public int SMTPPort { set; get; }
    public String MailAccount { set; get; }
    public String MailPassword { set; get; }
    public bool SSL { set; get; }
}

2 番目のクラスは send mail を処理するためのものです。

public class EASEmail : ItemEntityDataContext
{
public bool SendMail(string ReplyTo, string SendTo, string Title, string Body, string From, string AttachmentPath, bool isHtml = false)
{
    try
    {
        SmtpMail oMail = new SmtpMail("blah blah blah");
        SmtpClient oSmtp = new EASendMail.SmtpClient();

        String fff = From;
        if (From == "") fff = ReplyTo;

        MailAddress ma = new EASendMail.MailAddress(fff, "");

        if (From == "")
        {
            oMail.ReplyTo = ReplyTo;
            oMail.Headers.Add("Reply-To", ReplyTo);
        }
        oMail.From = ma;

        oMail.To = SendTo;
        oMail.Subject = Title;
        oMail.Priority = MailPriority.High;

        if (!isHtml)
            oMail.TextBody = Body;
        else
            oMail.HtmlBody = Body;

            iceEmailObject mail = new iceEmailObject();
            mail.ID = blahblah;      //data from web service here
            mail.MailAccount = ""; //data from web service here
        return true;
    }
    catch (Exception ex)
    {
        return false;
    }
}
}

などの最初のクラスのオブジェクトを初期化する JSON を取得したいと考えていますmail.ID = ...

どうすればそれができるか教えてもらえますか?ありがとう。

4

1 に答える 1

0

これを試して

JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();

iceEmailObject mail = js.Deserialize<iceEmailObject>(json);

json は JSON 文字列であり、mail は結果のオブジェクトです。

于 2012-08-28T01:34:09.010 に答える