我想从 json list.But 中获取 return id 它给出了一个错误
I want to return id from a json list.But it gave a error
错误:
无法将当前 JSON 对象(例如 {\"name\":\"value\"})反序列化为类型 'System.Collections.Generic.List`1[System.Object]',因为该类型需要一个 JSON 数组(例如 [1 ,2,3]) 正确反序列化。\r\nTo 修复此错误要么将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化类型它是可以从 JSON 对象反序列化的普通 .NET 类型(例如,不是像整数这样的原始类型,不是像数组或列表这样的集合类型)。也可以将 JsonObjectAttribute 添加到类型以强制它从 JSON 对象反序列化。\r\nPath 'exception',第 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;
}
我想从下面的输出中 return id:
[{\"id\":38,\"username\":\"newuser30\"}]
我这样做了并且对我有用:
string json = "[{\"id\":38,\"username\":\"newuser30\"}]";
dynamic [] stuff = JsonConvert.DeserializeObject<dynamic []>(json);
var id = stuff[0].id;
错误: 无法将当前 JSON 对象(例如 {\"name\":\"value\"})反序列化为类型 'System.Collections.Generic.List`1[System.Object]',因为该类型需要一个 JSON 数组(例如 [1 ,2,3]) 正确反序列化。\r\nTo 修复此错误要么将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化类型它是可以从 JSON 对象反序列化的普通 .NET 类型(例如,不是像整数这样的原始类型,不是像数组或列表这样的集合类型)。也可以将 JsonObjectAttribute 添加到类型以强制它从 JSON 对象反序列化。\r\nPath 'exception',第 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;
}
我想从下面的输出中 return id:
[{\"id\":38,\"username\":\"newuser30\"}]
我这样做了并且对我有用:
string json = "[{\"id\":38,\"username\":\"newuser30\"}]";
dynamic [] stuff = JsonConvert.DeserializeObject<dynamic []>(json);
var id = stuff[0].id;