Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Asp.net 我想从json列表返回id,但它给出了一个错误_Asp.net_Json_Moodle - Fatal编程技术网

Asp.net 我想从json列表返回id,但它给出了一个错误

Asp.net 我想从json列表返回id,但它给出了一个错误,asp.net,json,moodle,Asp.net,Json,Moodle,错误: 无法将当前JSON对象(例如{“name\”:\“value\”})反序列化为“System.Collections.Generic.List`1[System.object]”类型,因为该类型需要JSON数组(例如[1,2,3])才能正确反序列化。\r\n若要修复此错误,请将JSON更改为JSON数组(例如[1,2,3])或者更改反序列化类型,使其成为可以从JSON对象反序列化的普通.NET类型(例如,不是integer之类的基元类型,也不是数组或列表之类的集合类型)。还可以将Json

错误: 无法将当前JSON对象(例如{“name\”:\“value\”})反序列化为“System.Collections.Generic.List`1[System.object]”类型,因为该类型需要JSON数组(例如[1,2,3])才能正确反序列化。\r\n若要修复此错误,请将JSON更改为JSON数组(例如[1,2,3])或者更改反序列化类型,使其成为可以从JSON对象反序列化的普通.NET类型(例如,不是integer之类的基元类型,也不是数组或列表之类的集合类型)。还可以将JsonObjectAttribute添加到类型中,以强制其从JSON对象反序列化。\r\n路径“异常”,第1行,位置13

我的代码:

 using (WebClient wc = new WebClient())
            {
                wc.QueryString.Add("wstoken", "49345fa96c58118326b874bxxxxxx");
                wc.QueryString.Add("wsfunction", "core_user_create_users");
                wc.QueryString.Add("moodlewsrestformat", "json");
                wc.QueryString.Add("users[0][username]", member.uname);
                wc.QueryString.Add("users[0][auth]", "manual");
                wc.QueryString.Add("users[0][password]", member.password);
                wc.QueryString.Add("users[0][firstname]", member.fname);
                wc.QueryString.Add("users[0][lastname]", member.lname);
                wc.QueryString.Add("users[0][email]", member.email);
                wc.QueryString.Add("users[0][timezone]", member.timezone);
                wc.QueryString.Add("users[0][description]", member.tag);//tag for group name
                var response_data = wc.UploadValues(URI, "POST", wc.QueryString);

                var response = Encoding.ASCII.GetString(response_data);
                var k = JsonConvert.DeserializeObject<List<dynamic>>(response);
                foreach (var a in k)
                {
                    id = (a["id"]);
                }
                return id;

            }

我做到了这一点,这对我来说很有用:

string json = "[{\"id\":38,\"username\":\"newuser30\"}]";
dynamic [] stuff = JsonConvert.DeserializeObject<dynamic []>(json);

var id = stuff[0].id;
string json=“[{\'id\':38,\'username\':\'newuser30\'}]”;
dynamic[]stuff=JsonConvert.DeserializeObject(json);
var id=stuff[0].id;

我做了这件事,它对我来说很有用:

string json = "[{\"id\":38,\"username\":\"newuser30\"}]";
dynamic [] stuff = JsonConvert.DeserializeObject<dynamic []>(json);

var id = stuff[0].id;
string json=“[{\'id\':38,\'username\':\'newuser30\'}]”;
dynamic[]stuff=JsonConvert.DeserializeObject(json);
var id=stuff[0].id;

Hi Tereen,你能看看我的答案,看它是否对你有帮助吗?Hi Tereen,你能看看我的答案,看它是否对你有帮助吗?