获取JSON参数的值c#
get the value of JSON parameter c#
我尝试使用 c# 从下面的 json 中获取 id 参数但没有成功。这是一个双数组 (users/warings)
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 中遇到错误。
我不想创建一个 class 来解析 JSON ,只需从 'users' 数组中提取 id 值就足够了
感谢您的宝贵时间!
尝试使用动态类型而不是对象类型:
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;
为此尝试使用 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;
我没试过,但尝试使用 object1["users"]["id"]
我尝试使用 c# 从下面的 json 中获取 id 参数但没有成功。这是一个双数组 (users/warings)
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 中遇到错误。 我不想创建一个 class 来解析 JSON ,只需从 'users' 数组中提取 id 值就足够了
感谢您的宝贵时间!
尝试使用动态类型而不是对象类型:
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;
为此尝试使用 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;
我没试过,但尝试使用 object1["users"]["id"]