浏览器怎么用get方式传递json数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器怎么用get方式传递json数组相关的知识,希望对你有一定的参考价值。

参考技术A get请求直接在浏览器地址栏输完请求地址后加一个英文问号然后接参数名、等号、参数按回车就可以发送get本回答被提问者采纳

如何使用 GET 请求将 JSON 数组传递给 Controller 方法?

【中文标题】如何使用 GET 请求将 JSON 数组传递给 Controller 方法?【英文标题】:How to pass a JSON array to Controller method by using GET request? 【发布时间】:2021-08-12 14:23:56 【问题描述】:

我有一个这样的控制器方法:

[GET]
public ActionResult GetFailureInfo(List<FailureInfoModel> failureInfoModels)

我有一个这样的模型:

public class FailureInfoModel 
      public int Id get; set;
      public List<string> Reasons get; set;

现在我想通过在前端使用 window.open() 来传递 json 数据,如下所示:

<script type="text/javascript">
    var json = 
        [
            
                Id:111,
                Reasons:[1,2]
            
        ];
    var formatJson = JSON.stringify(failureInfoModels : json);
    
    window.open("url?failureInfoModels=" + escape(formatJson))
</script>

但是只能得到一个包含 0 个项目的 List 对象。 我应该如何更改我的代码来解决这个问题? 谢谢。

【问题讨论】:

至少有一个问题是你的原因数组有数字而不是字符串 【参考方案1】:

将输入更改为字符串并对其进行反序列化。

1. public ActionResult GetFailureInfo(string failureInfoModels = "")  
          
2.  List<FailureInfoModel> failuresData = JsonConvert.DeserializeObject<List<FailureInfoModel>>(failureInfoModels);  

【讨论】:

以上是关于浏览器怎么用get方式传递json数组的主要内容,如果未能解决你的问题,请参考以下文章

ajax传递json数组对象

get请求如何传递数组参数

axios中怎么传数组

遍历一个url数组并将它们传递给get_json,返回新的数据数组[重复]

如何使用 GET 请求将 JSON 数组传递给 Controller 方法?

ztree提取json部分数据取值为undefined