如何解析具有FB.API调用给出的多个id的JSON

时间:2017-03-10 19:12:08

标签: c# json facebook unity3d facebook-unity-sdk

编辑:我通过不解析任何东西来“解决”它并且手动“阅读”它:

foreach (string key in result.ResultDictionary.Keys)
{
    foreach (string key2 in ((IDictionary)result.ResultDictionary[key]).Keys)
    {
        Debug.Log(key2 + " : " + ((IDictionary)result.ResultDictionary[key])[key2]);
    }
}

以下原始问题

我有这个片段:

string query = "?ids=";
for (int i = 0; i < users.Length; i++)
{
    query += users[i].idFacebook + ",";
}
query = query .Remove(query.Length - 1);
FB.API(query, HttpMethod.GET, responseCallback);

现在在回调中我想解析我得到的JSON,但我不知道该怎么做,它看起来像这样:

{
    "facebook-id-1":
    {
        "name":"some name",
        "id":"facebook-id-1"
    },
    "facebook-id-2":
    {
        "name":"some name",
        "id":"facebook-id-2"
    },
    "facebook-id-3":
    {
        "name":"some name",
        "id":"facebook-id-3"
    },
}

我试图用一个结构来解析它,但我知道我需要另一个结构来读取“上层”节点,但是它们的名字是id,所以我不能创建一个通用的结构来使用它们

struct fbResults
{
    public fbName[] users;
}

struct fbName
{
    public string name;
    public string id;
}

这就是我在回调中解析JSON的方法:

fbResults fbUsers = JsonUtility.FromJson<fbResults>(result.RawResult);

我感谢任何帮助

编辑:添加了更多标签。

1 个答案:

答案 0 :(得分:0)

我通过不解析任何东西来“解决”它并且手动“阅读”它:

foreach (string key in result.ResultDictionary.Keys)
{
    foreach (string key2 in ((IDictionary)result.ResultDictionary[key]).Keys)
    {
        Debug.Log(key2 + " : " + ((IDictionary)result.ResultDictionary[key])[key2]);
    }
}