我在Unity中使用Facebook SDK邀请人们加入我的游戏。在邀请时,我得到了我邀请的人的Facebook ID回复。我现在想要在我的游戏中创建一个与他们一起作为对手的游戏,并且如果我可以将id分成一个foreach循环,我就可以这样做,但我不知道该怎么做。
这是JSON响应的样子:
{"to":["755111373","1144265875"],"request":"730979703615028"}
在Unity C#中我然后使用MiniJSON(Facebook首选)将数据输入到这样的对象中:
var userReq = Json.Deserialize(fbresult.Text) as Dictionary<string,object>;
现在通常情况下,如果对象不是数组,我只会得到每个json对象的数据:
userReq["to"]
但是,由于这是一个阵列,所以不可能。然后我试着把它放到像这样的foreach循环中:
foreach(var auser in userReq["to"]){
int fbid = auser;
}
但由于以下原因无法做到:
foreach语句不能对类型&#39; object&#39;的变量进行操作。因为它不包含&#39; GetEnumerator&#39;的定义或者无法访问
我想我必须先将它放入列表或字典中,但我不知道如何才能做到这一点。那么如何将JSON值放入我可以迭代的列表中呢?
答案 0 :(得分:2)
你应该能够简单地将对象转换为List<object>
,然后迭代它。
例如,获取数据并执行以下操作:
var userReq = Json.Deserialize(fbresult.Text) as Dictionary<string,object>;
List<object> numbers = (List<object>)(userReq["to"]);
foreach(string s in numbers)
{
Debug.Log("Number: " + s);
}
将打印两个字符串
编号:755111373
编号:1144265875
在控制台中。