我将以下json数据返回给我,我需要检查用户是否已授予'public_actions'权限。
{"data":[{"permission":"installed","status":"granted"},{"permission":"public_profile","status":"granted"},{"permission":"email","status":"granted"},{"permission":"publish_actions","status":"granted"}]}
之前没有真正对json数据做过任何事情,我不确定推荐的方法基本上是真的还是假的(无论是否授予了特定的权限)。
答案 0 :(得分:1)
Json.NET是一种流行的.NET高性能JSON框架。
这是我如何使用Newtonsoft.Json.dll
读取json字符串:
var json = @"{
data: [
{
permission: 'installed',
status: 'granted'
},
{
permission: 'public_profile',
status: 'granted'
},
{
permission: 'email',
status: 'granted'
},
{
permission: 'publish_actions',
status: 'granted'
}
]
}";
JObject jObjects = JObject.Parse(json);
foreach (KeyValuePair<String, JToken> kvpParent in jObjects)
{
var sMainKey = kvpParent.Key;
var objects = JArray.Parse(kvpParent.Value.ToString());
foreach (JObject jObj in objects)
{
foreach (KeyValuePair<String, JToken> kvp in jObj)
{
var sKey = kvp.Key; //permission
var sValue = (String)kvp.Value; //installed
}
}
}
每个KeyValuePair获得2个permission
和status
个键的计数。