【问题标题】:RestSharp Serialize JSON Array to request parameterRestSharp 序列化 JSON 数组以请求参数
【发布时间】:2015-06-22 19:45:24
【问题描述】:

我不想只发布 JSON,而是想将 JSON array 发布到发布请求的一个参数。

代码:

        var locations = new Dictionary<string, object>();
        locations.Add("A", 1);
        locations.Add("B", 2);
        locations.Add("C", 3);

        request.AddObject(locations);
        request.AddParameter("date", 1434986731000);

AddObject 失败,因为我认为新的 RestSharp JSON 序列化程序无法处理字典。 (此处错误:http://pastebin.com/PC8KurrW

我也试过request.AddParameter("locations", locations); 但这根本不会序列化为 json。

我希望请求看起来像

locations=[{A:1, B:2, C:3}]&amp;date=1434986731000

[] 很重要,即使它只有 1 个 JSON 对象。它是一个 JSON 对象数组。

【问题讨论】:

    标签: c# json serialization restsharp


    【解决方案1】:

    不是很流畅,但这会起作用:

    var request = new RestSharp.RestRequest();
    
    var locations = new Dictionary<string, object>();
    locations.Add("A", 1);
    locations.Add("B", 2);
    locations.Add("C", 3);
    
    JsonObject o = new JsonObject();
    
    foreach (var kvp in locations)
    {
        o.Add(kvp);
    }
    
    JsonArray arr = new JsonArray();
    arr.Add(o);
    
    request.AddParameter("locations", arr.ToString());
    request.AddParameter("date", 1434986731000);
    

    【讨论】:

    • 这行得通。我会等着看是否出现任何其他“光滑”选项,但请注意您是第一个并且这有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多