C# および Visual Studio 2010 (Windows フォーム プロジェクト)、InstaSharp および Newtonsoft.Json ライブラリを使用します。
特定のハッシュタグを要求したときに、 Endpoint Instagram APIによって返された JSON 文字列から画像の URLを取得したいと考えています。
これまでのところ、JSON 文字列を取得できます。
例を使用してNewtonsoft.Jsonを使用してオブジェクトを逆シリアル化しようとしていますが、オブジェクトの JSON 文字列表現を正しく理解していない可能性があります。
以下は、ドキュメントresponse
の API 呼び出しから取得した単純化されたサンプルです。ソースはこちらtags/tag-name/media/recent
{
"data": [{
"type": "image",
"filter": "Earlybird",
"tags": ["snow"],
"comments": {
}
"caption": {
},
"likes": {
},
"created_time": "1296703536",
"images": {
"low_resolution": {
"url": "http://distillery.s3.amazonaws.com/media/2011/02/02/f9443f3443484c40b4792fa7c76214d5_6.jpg",
"width": 306,
"height": 306
},
"thumbnail": {
"url": "http://distillery.s3.amazonaws.com/media/2011/02/02/f9443f3443484c40b4792fa7c76214d5_5.jpg",
"width": 150,
"height": 150
},
"standard_resolution": {
"url": "http://distillery.s3.amazonaws.com/media/2011/02/02/f9443f3443484c40b4792fa7c76214d5_7.jpg",
"width": 612,
"height": 612
}
},
"id": "22699663",
"location": null
},
...
]
}
standard_resolution
その部分で具体的に取得したいimages
。
これは私が現在持っている適切なコードです。
//Create the Client Configuration object using Instasharp
var config = new InstaSharp.Endpoints.Tags.Unauthenticated(config);
//Get the recent pictures of a particular hashtag (tagName)
var pictures = config.Recent(tagName);
//Deserialize the object to get the "images" part
var pictureResultObject = JsonConvert.DeserializeObject<dynamic>(pictureResult.Json);
consoleTextBox.Text = pictureResult.Json;
var imageUrl = pictureResultObject.Data.Images;
Console.WriteLine(imageUrl);
エラーが発生します:Additional information: Cannot perform runtime binding on a null reference
imageUrl
デバッグ時に実際に null であるため、正しい方法でアクセスしていないことを示しています。
Newtonsoft.Jsonを使用して、この JSON 文字列のさまざまな部分にアクセスする方法を誰でも説明できますか?