0

我正在尝试使用 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,只需从'users'数组中提取id值就足够了

谢谢你的时间!

4

3 回答 3

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;
于 2017-07-05T21:35:43.017 回答
1

尝试为此使用 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;
于 2017-07-05T21:36:32.100 回答
0

我没有尝试过,但尝试使用 object1["users"]["id"]

于 2017-07-05T21:36:35.903 回答