小编yge*_*rts的帖子

如何处理返回字符串和字符串数组的json?

我正在使用Yahoo fantasy sports api.我得到这样的结果:

"player": [
    {
        ...
        "eligible_positions": {
            "position": "QB"
        },
        ...
    },
    {
        ...
        "eligible_positions": {
            "position": [
                "WR",
                "W/R/T"
            ]
        },
        ...
    },
Run Code Online (Sandbox Code Playgroud)

我怎么能反序化呢?

我的代码看起来像这样:

var json = new JavaScriptSerializer();

if (response != null)
{
    JSONResponse JSONResponseObject = json.Deserialize<JSONResponse>(response);
    return JSONResponseObject;
}
Run Code Online (Sandbox Code Playgroud)

在我的JSONResponse.cs文件中:

public class Player
{
    public string player_key { get; set; }
    public string player_id { get; set; }
    public string display_position { get; set; }        
    public SelectedPosition selected_position { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

c# json

9
推荐指数
1
解决办法
1604
查看次数

WebAPI - 用json发布到字典

我有一个web api方法,如下所示:

[HttpPost]
[Route("messages")]
public IHttpActionResult Post(IEnumerable<Email> email)
{
    AddToQueue(email);
    return Ok("message added to queue");
}
Run Code Online (Sandbox Code Playgroud)

我的电子邮件类目前看起来像这样:

public string Body { get; set; }
public string From { get; set; }
public string Template { get; set; }
public string To { get; set; }        
public string Type { get; set; }
Run Code Online (Sandbox Code Playgroud)

我正在使用fiddler发布到我的Post方法,如下所示:

User-Agent: Fiddler
Host: localhost:3994
Content-Length: 215
Content-Type: application/json; charset=utf-8
[
{"Body":"body","From":"from","To":"to","Template":"template"},
{"Body":"body1","From":"from1","To":"to1","Template":"template1"},
{"Body":"body2","From":"from2","To":"to2","Template":"template2"}
]
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,我希望能够将Dictionary添加到我的Email类中,所以它看起来像这样:

public string Body { get; set; }
public string From { get; …
Run Code Online (Sandbox Code Playgroud)

c# dictionary asp.net-web-api

9
推荐指数
1
解决办法
6836
查看次数

如何使用cron作业在joomla中运行管理任务?

我在Joomla中编写了一个自定义组件!从XML提要中提取内容并将其存储在Joomla数据库中.我希望管理URL(/ administrator/index?option = com_mycomp)每晚通过cron运行一次以运行组件.但是,我无法弄清楚如何使这项工作,因为该组件是一个管理员任务,您必须登录才能运行它.

我怎么得到这个?我尝试将我的用户/ pw包含在网址中(http:admin:password@www.mysite.com/joomla/administrator ....)但它不起作用.有没有其他方式发送登录凭据,或任何其他方式来做到这一点?

cron joomla

6
推荐指数
1
解决办法
7860
查看次数

Adobe After Effects扩展脚本 - 如何从命令行运行脚本并传入参数?

我正在尝试从命令行运行Adobe AE extendcript.我使用"-r"参数,我可以运行脚本.但是,是否可以将参数传递给脚本?

就像,如果我从命令行运行它:

C:\>"C:\Program Files\\Adobe\\Adobe After Effects CC\\Support Files\\AfterFX" -r   "C:\Workspaces\MyAEScripts\AutomateSetup.jsx" hello
Run Code Online (Sandbox Code Playgroud)

是否可以在我的AutomateSetup.jsx脚本中获得"hello"?我已经谷歌搜索了一段时间,无法找到解决方案.

javascript adobe after-effects extendscript

6
推荐指数
2
解决办法
3626
查看次数

C#mvc5 - 检查用户是否在每个控制器方法中进行身份验证的简便方法

我有一个控制器,我只希望经过身份验证的用户能够访问.我是否必须检查控制器中的每个方法以验证用户是否已通过身份验证,或者是否有其他方法来处理此问题?我可以使用注释来代替吗?

我的控制器示例:

public ActionResult Index()
        {
            if (UserVerified())
            {
               ...
            }
            return RedirectToAction("Login", "Account");
        }

    public ActionResult FacebookLogin()
    {
        if (UserVerified())
        {
           ....
        }

        return RedirectToAction("Login", "Account");
    }

    private bool UserVerified()
    {
        if (User != null && User.Identity != null && User.Identity.IsAuthenticated)
        {
            return true;
        }
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc-5

5
推荐指数
2
解决办法
2万
查看次数

如何使用 Web api 发送和接收文件

我有一个 Api Post 方法,我希望能够接受任何文件类型,如下所示:

[HttpPost]
    public async Task<IHttpActionResult> Post()
    {
        if (!Request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }

        var provider = new MultipartMemoryStreamProvider();
        await Request.Content.ReadAsMultipartAsync(provider);

        if (provider.Contents.Count != 1)
        {
            throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest,
                "You must include exactly one file per request."));
        }

        var file = provider.Contents[0];
        var filename = file.Headers.ContentDisposition.FileName.Trim('\"');
        var buffer = await file.ReadAsByteArrayAsync();
  }
Run Code Online (Sandbox Code Playgroud)

当我尝试向提琴手发布图像时,这在提琴手中起作用。但是,我正在编写一个客户端库,并且有一个如下所示的方法:

        public string PostAttachment(byte[] data, Uri endpoint, string contentType)
    {
        var request = (HttpWebRequest)WebRequest.Create(endpoint);
        request.Method = "POST";
        request.ContentType = contentType;
        request.ContentLength = data.Length;

        var stream …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api2

4
推荐指数
1
解决办法
2万
查看次数

c#使用Skydrive REST API解决PUT请求问题

我正在尝试通过REST API将文件上传到SkyDrive.我一直在使用以下代码,但我一直得到"(415)不支持的媒体类型." 错误:

            var requestUriFile =
                             new StringBuilder("https://apis.live.net/v5.0/<folderid>/files/testfile.txt");
        requestUriFile.AppendFormat("?access_token={0}", accessTokenM);

        byte[] arr = System.IO.File.ReadAllBytes("C:\\temp\\testFile.txt");
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUriFile.ToString());
        request.Method = "PUT";
        request.ContentType = "text/plain";
        request.ContentLength = arr.Length;
        Stream dataStream = request.GetRequestStream();
        dataStream.Write(arr, 0, arr.Length);
        dataStream.Close();
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        string returnString = response.StatusCode.ToString();
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用RestSharp来做这件事,但我遇到了类似的问题.当我运行下面的代码时,我得到了异常"提供的Content-Type标题'multipart/form-data; boundary\u003d --------------------- --------不支持28947758029299".

            byte[] arr = System.IO.File.ReadAllBytes("C:\\temp\\testFile.txt");

        var client = new RestClient("https://apis.live.net/v5.0/");
        var request = new RestRequest(Method.PUT);
        request.Resource = "<folderId>/files/testfile.txt?access_token=" + accessTokenM;
        request.AddHeader("content-type", "text/plain;");
        request.AddFile("filename", arr, "testfile.txt", "text/plain");



        var responseIn = client.Execute(request);
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

c# rest onedrive

1
推荐指数
1
解决办法
1309
查看次数