所以我有一个JSON对象,然后遍历所有Children,并将这些项添加到JTokens列表中。当我调试时,列表包含以下内容: https://imgur.com/a/7Pap9Xz
当我显示一个MessageBox时,我得到以下信息: https://imgur.com/a/9KHYCP3
问题是,我只希望字符串文本为:“ Volunteer”。我该怎么办?
List<JToken> objecten = new List<JToken>();
JObject json = JObject.Parse(content);
foreach (JToken token in json.Children<JToken>())
{
objecten.Add(token);
}
MessageBox.Show(objecten[1].ToString());
如果我想在字符串变量中获得角色,我想这样做,但是我不知道它是如何工作的:
字符串角色= objecten.Role;
答案 0 :(得分:1)
您可以使用SelectToken
,其中可以根据其路径选择期望值。参见此reference。
JObject json = JObject.Parse(content);
var value = json.SelectToken("role").Value<string>();
添加路径以选择role
。路径将取决于您的JSON结构。
内容示例值
{
response : {
role : volunteer,
success: true,
token: eyJhbGci...
}
}
JObject json = JObject.Parse(content);
var value = json.SelectToken("response.role").Value<string>();
答案 1 :(得分:0)
您可以尝试以下操作:
JObject json = JObject.Parse(content);
foreach (KeyValuePair<string, JToken> sourcePair in json)
{
if (sourcePair.Key == "Role")
role = sourcePair.Value.ToString();
}
通过递归,您可以在不知道属性的完整路径的情况下遍历所有json对象