【问题标题】:POST nested JSON Body using asp mvc使用 asp mvc 发布嵌套的 JSON 正文
【发布时间】:2018-05-03 05:33:23
【问题描述】:

我正在尝试将嵌套的 json 主体发布到 api,但我尝试了一些东西但无法解决。另一件事是 Json 值来自不同的模型。这有点复杂,我正在努力解决它,任何形式的帮助将不胜感激。

public Object getfreight()
    {
         var json = "{" +
"'from': {" +
    "'postcode': '3207'" +
"}," +
"'to': {" +
    "'postcode': '2001'" +
"}," +
"'items': [" +
    "{" +
        "'length': 5," +
        "'height': 5," +
        "'width': 5," +
        "'weight': 5," +
        "'item_reference' : 'abc xyz'," +
        "'features':{" +
            "'TRANSIT_COVER': {" +
                "'attributes': {" +
                    "'cover_amount':1000" +
                "}" +
            "}" +
        "}" +
    "}" +
"]" +
"}";

 string url = 
"https://digitalapi.auspost.com.au/postage/parcel/domestic/calculate.json?length=22&to_postcode=3083&from_postcode=3076&weight=2&height=40&width=50&service_code=AUS_PARCEL_REGULAR";


         //synchronous client.
        var client = new WebClient();
        var serializer = new JavaScriptSerializer();
        client.Credentials = new NetworkCredential("***", "***"); 

        client.Headers.Add("Content-Type: application/json");
        client.Headers.Add("Accept: application/json");
        client.Headers.Add("account-number: ***");
        var data = serializer.Serialize(json);
        var content = client.UploadString(url,json);

        var jsonContent = serializer.Deserialize<Object>(content);
        return jsonContent;
    }

【问题讨论】:

  • 你说的这个“嵌套的json体”是什么?
  • 你有示例 Json 吗?
  • 您好,我已经编辑了代码,请立即查看 JSON 数据。
  • 你有这行var data = serializer.Serialize(JsonData);,但你没有在任何地方使用data变量
  • 是的,因为 JsonData 还无效,它给出了错误,修复后我必须将它添加为正文。如果我没记错的话,我可以使用 WebClient() 添加正文!

标签: javascript c# json asp.net-mvc rest


【解决方案1】:

不能使用 jQuery 将您的 json 对象传递给 API 吗?

 function Search () {
       try {
                    var req = {
                        length:"5",
                        Higet: "10",
                        item_reference: "",  
                    }

                    $.ajax({
                        url: https://digitalapi.auspost.com.au/postage/parcel/domestic,
                        type: 'POST',
                        data: req,
                        dataType: "json",
                        async: true,
                        success: function (result) { 


                        },
                        error: function (e) {

                        }
                    });
                }
                catch (e) {

                }
            }

【讨论】:

    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    相关资源
    最近更新 更多