2016-05-23 6 views
0

私は現在Facebookを使用しており、JSON結果を文字列として返すコールバックメソッドがあります。Facebook JSONゲームリクエストデータの解析

結果は次の形式になります。

{ 
"request": "420211088059698", 
"to": [ 
    "100002669403922", 
    "100000048490273" 
] 
} 

は、どのように私はいくつかの種類のリストに「に」を解析するに行きますか?この方法で、このリストを使用して、ユーザーが実際にゲームをプレイする友人に実際にリクエストを送信したことを確認できます。

ありがとうございました

答えて

0

あなたはクラスアレイに変換する必要があります。これは、UnityのJsonUtility APIで実現できます。

JsonUtility.ToJsonクラスをJsonに変換する。

JsonUtility.FromJson Jsonをクラスに戻す。

Visit here Jsonアレイの例。

EDIT:

あなたは、たとえば尋ねた:

class FacebookInfo 
{ 
    public string request; 
    public string[] to; 
} 

void Start() 
{ 
    FacebookInfo fbInfo = new FacebookInfo(); 
    string fbJson = "{\"request\": \"420211088059698\",\"to\": [\"100002669403922\",\"100000048490273\"]}"; 
    fbInfo = JsonUtility.FromJson<FacebookInfo>(fbJson); 

    //Show request 
    Debug.Log("Request: " + fbInfo.request); 

    //Show to arrays 
    for (int i = 0; i < fbInfo.to.Length; i++) 
    { 
     Debug.Log("To : " + fbInfo.to[i]); 
    } 
} 

ユニティ5.4.0.13Bでテストされ、それが今、余分なコードを記述せずにJSON配列をサポートユニティのように見えます。私が言及したこのバージョンを持っていることを確認してください。

+0

私のJSONデータは、提供されている例よりも複雑ではありません。だから、どのように私はそのデータを解析するつもりですか? –

+1

@ coder_4_life25例を挙げましょう。そうではありません。 ** Unity 5.4.0.13B **を使用して動作しました。私はUnityがそのAPIを更新したので、あなたはその余分なマイルに行く必要はないと思う。以前と同じように外部ライブラリは必要ありません。組み込みバージョンは外部バージョンより約10倍高速であるため、外部ライブラリを使用する必要はありません。この声明は私のテストに基づいています。 – Programmer

+1

@Programmerはい内部のJSONパーサーが非常に高速です – LumbusterTick

0

あなたは構造以下のクラスにデシリアライズするためにJSON.Netを使用することができます。

Class Test{ 
public string request {get;set;} 
public List<string> to {get;set;} 
} 

は、単にオブジェクトを取得するためにJSON文字列にデシリアライズメソッドを呼び出します。

Test obj = JsonConvert.DeserializeObject<Test>(jsonstring); 
0

だけですべてを行う必要が取得するJSON.Parse、あなたの配列を使用してデータのようにそれを使用することができます[「要求」]で、例を見て、のsimplejson http://wiki.unity3d.com/index.php/SimpleJSON、必要な余分な作業を使用値は、これが助けて欲しい。