非常に長い話ですが、私はAndroidアプリを持っていて、それを開発するためにcocos2dxを使用しました。私が取り組んでいるコンポーネントの1つは、Facebookの友達をゲームに参加させることです。私がそれをした方法は、ネイティブ側(java)でした。FacebookSDKをセットアップしました。ログインに成功し、友達リストを問題なくプルダウンしました。私の問題は、このデータをc ++側に転送して、データにアクセスしてラベルなどに取り込む必要があることです。
ここでは、Javaネイティブ-アクティビティの開始、Facebookへのログイン、友達の取得-> STRING DATA JNI TO C++->CPPがJannsonを使用してJSONデータを解析します。
私の問題は、次のようなサンプルデータがある場合です。
[
{
"pic_square": "https://www.facebook.com/blah",
"uid": 4654546445,
"name": "somename"
}
]
私はそれを問題なく解析できますが、実際にはFacebookの応答は次のようになります。
{
Response: responseCode: 200,
graphObject: GraphObject{
graphObjectClass=GraphObject,
state={
"data": [
{
"pic_square": "https://www.facebook.com/blah",
"uid": 4654546445,
"name": "somename"
}
]
}
}
}
そして、それでJanssonは、それが配列ではないと述べて失敗します(正確なエラーは「エラー:ルートは配列ではありません」です)。これを処理する方法がわかりません。どういうわけか、「データ」の後にあるものを解析する必要があります。次に、どこで正しく停止するか、またはより良い方法があるかを判断します。
ありがとう!!