所以我有一个JSON对象,然后我遍历所有子项并将项目添加到JTokens列表中。调试时,列表包含以下内容: https://i.stack.imgur.com/uXZDI.jpg
当我显示消息框时,我得到以下内容: https://i.stack.imgur.com/oUuji.jpg
问题是,我只希望字符串文本为:"志愿者"。我该怎么做?
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());
如果我想在字符串变量中获取角色,我想这样做,但我不知道它是如何工作的:
字符串角色 = 对象。角色;
您可以使用
SelectToken
,其中您可以根据其路径选择您想要的值。请参阅此参考。
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>();
你可以试试这个:
JObject json = JObject.Parse(content);
foreach (KeyValuePair<string, JToken> sourcePair in json)
{
if (sourcePair.Key == "Role")
role = sourcePair.Value.ToString();
}
使用递归,您可以在不知道属性的完整路径的情况下遍历所有 json 对象