获取JSON参数c#的值

时间:2017-07-05 21:27:49

标签: c# jsonparser

我尝试使用c#从json获取id参数但没有成功。它是一个双数组(用户/警告)

JSON:
contents = "{\"users\":[{\"id\":64,\"username\":\"100146\",\"firstname\":\"NAME\",\"lastname\":\"LASTNAME PROFILI\",\"department\":\"\",\"firstaccess\":0,\"lastaccess\":0"}],\"warnings\":[]}"

这是我试过的

JavaScriptSerializer serializer = new JavaScriptSerializer();
object obj1 = serializer.DeserializeObject(contents);
object obj2 = obj1["users"];
string id = obj2["id"];

我在obj2中收到错误。 我不想创建一个用于解析JSON的类,只需从用户'中提取id值。数组就够了

谢谢你的时间!

3 个答案:

答案 0 :(得分:1)

尝试使用动态而非对象类型:

dynamic d = JObject.Parse("{\"users\":[{\"id\":64,\"username\":\"100146\",\"firstname\":\"NAME\",\"lastname\":\"LASTNAME PROFILI\",\"department\":\"\",\"firstaccess\":0,\"lastaccess\":0"}],\"warnings\":[]}");

var usersCount = d.users.Count;
var warningsCount = d.warnings.Count;

var id = d.users[0].id;

答案 1 :(得分:0)

尝试使用Newtwonsoft:

var json = "{\"users\":[{\"id\":64,\"username\":\"100146\",\"firstname\":\"NAME\",\"lastname\":\"LASTNAME PROFILI\",\"department\":\"\",\"firstaccess\":0,\"lastaccess\":0}],\"warnings\":[]}";

dynamic data = JObject.Parse(json);

var id = data.users[0].id;

答案 2 :(得分:0)

我没试过但尝试使用object1 [“users”] [“id”]