Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将jsondata从Ext.data.Store强制转换为list对象_C#_Asp.net Mvc_Extjs - Fatal编程技术网

C# 将jsondata从Ext.data.Store强制转换为list对象

C# 将jsondata从Ext.data.Store强制转换为list对象,c#,asp.net-mvc,extjs,C#,Asp.net Mvc,Extjs,我有一个用户创建的按钮,用于将数据从存储区发送到服务器端c#代码 和C#: 这是我从“数据”中得到的数据 数据=%5B%7B%22%C3%9AtgefandiKennitala%22%3A%224911069990%22%2C%22%C3%9AtgefandiHeiti%22%3A%22Landsbanki%20绝对收益率%20Stra%22%2C%22Rekstrarf%C3%A9lagKennitala%22%3A%225005942549%2C%22Rekstrarf%C3%A9lagN

我有一个用户创建的按钮,用于将数据从存储区发送到服务器端c#代码

和C#:

这是我从“数据”中得到的数据


数据=%5B%7B%22%C3%9AtgefandiKennitala%22%3A%224911069990%22%2C%22%C3%9AtgefandiHeiti%22%3A%22Landsbanki%20绝对收益率%20Stra%22%2C%22Rekstrarf%C3%A9lagKennitala%22%3A%225005942549%2C%22Rekstrarf%C3%A9lagNafn%22%3A%22landdesvaki%20hf%22%22%22%2C%22%22ISIN%22%3A%22is22%22%3A%220000013%22%22%22%22%22%22%22%2C%22%22%22%22%22%tau%22%22%22%22%22%2C%22%22%22%22%22%22%22中文常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用词汇词汇(3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%2%2%2%2%2%2%2%2%2%2%2%2%2%2%%22%2C%22Athugasemd%22%3A%22%22%7D%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%3%3%9%9%中文中文常用常用常用常用常用常用常用常用常用常用常用词汇22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%10%10%10%10%10%10%22%10%22%22%22%22%22%22%10%22%22%22%22%22%22%22%22%22%22%22%22%10%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22%22 2C%22Skr%C3%A中文常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用词汇(3)3%表示表示表示表示)3%的3%3%中,常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用词汇词汇(3%3)3%3%3%3%3%3%3%的常用常用常用常用常用常用常用常用常用常用词词词组)3%3%表示表示表示表示表示表示表示表示(3%3%3%的常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用常用词词词词组)3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%的(3%的(3%的)3%中,3%的,7B%22%C3%9ATGEFANDIKENITALA%22%3A%224603069490%22%2C%22%C3%9AtgefandiHeiti%22%3A%22土地


那么我怎样才能以可用的格式获取这些数据呢


谢谢

使用
System.Web.HttpUtility.UrlDecode
将数据更改为未转换的字符串,然后使用库将JSON字符串反序列化为c#对象

嗨,收到Jason的帮助后,我想回答我自己的问题

在客户端,STORE.data.items中有数据(在我的例子中是ExtJS网格)

这是按下按钮时的动作:

function valideit() {
    var jsonData = Ext.encode(Ext.pluck(store.data.items, 'data'));
    Ext.Ajax.request({
        url: '/Contact/Validate', params: { data: jsonData },
        success: function (result, request) {
            Ext.MessageBox.alert('Success', 'Data return from the server: ' + result.responseText);
        },
        failure: function (result, request) {
            Ext.MessageBox.alert('Failed', 'Successfully posted form: ' + result.date);
        }
    });
}
在服务器端:

[HttpPost]
            public JsonResult Validate(string data)
            {
                var response = HttpUtility.UrlDecode(data);


                List<Investments> myDeserializedObjList = (List<Investments>)Newtonsoft.Json.JsonConvert.DeserializeObject(data, typeof(List<Investments>));


                return Json(new
                {
                    success = "This worked!"
                },JsonRequestBehavior.AllowGet);
            }
[HttpPost]
公共JsonResult验证(字符串数据)
{
var response=HttpUtility.UrlDecode(数据);
List myDeserializedObjList=(List)Newtonsoft.Json.JsonConvert.DeserializeObject(数据,类型(List));
返回Json(新的
{
success=“成功了!”
},JsonRequestBehavior.AllowGet);
}
function valideit() {
    var jsonData = Ext.encode(Ext.pluck(store.data.items, 'data'));
    Ext.Ajax.request({
        url: '/Contact/Validate', params: { data: jsonData },
        success: function (result, request) {
            Ext.MessageBox.alert('Success', 'Data return from the server: ' + result.responseText);
        },
        failure: function (result, request) {
            Ext.MessageBox.alert('Failed', 'Successfully posted form: ' + result.date);
        }
    });
}
[HttpPost]
            public JsonResult Validate(string data)
            {
                var response = HttpUtility.UrlDecode(data);


                List<Investments> myDeserializedObjList = (List<Investments>)Newtonsoft.Json.JsonConvert.DeserializeObject(data, typeof(List<Investments>));


                return Json(new
                {
                    success = "This worked!"
                },JsonRequestBehavior.AllowGet);
            }