0
當我使用這個:對象(來自JSON)爲空?
RootobjectDribbbleShotsList ObjShots = await DribbbleShotsListProxy.GetShots(App.accesstoken, "debuts", "20", "day", "likes");
ObjShots是空的。
這是DribbbleShotsListProxy類:
using System.Diagnostics;
using System.IO;
using System.Net.Http;
using System.Runtime.Serialization.Json;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.Serialization;
namespace MyProject
{
public class DribbbleShotsListProxy
{
public async static Task<RootobjectDribbbleShotsList> GetShots(string token, string type, string limit, string timeframe, string sort)
{
var http = new HttpClient();
var url = "https://api.dribbble.com/v1/shots?access_token=" + token + "&list=" + type + "&timeframe=" + "&sort=" + sort + "&per_page=" + limit;
var response = await http.GetAsync(url);
var result = await response.Content.ReadAsStringAsync();
var serializer = new DataContractJsonSerializer(typeof(RootobjectDribbbleShotsList));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(result));
var data = (RootobjectDribbbleShotsList)serializer.ReadObject(ms);
Debug.WriteLine(url);
return data;
}
}
[DataContract]
public class RootobjectDribbbleShotsList
{
[DataMember]
public ShotClass[] Shot { get; set; }
}
[DataContract]
public class ShotClass
{
[DataMember]
public int id { get; set; }
[DataMember]
public string title { get; set; }
[DataMember]
public string description { get; set; }
[DataMember]
public int width { get; set; }
[DataMember]
public int height { get; set; }
[DataMember]
public Images images { get; set; }
[DataMember]
public int views_count { get; set; }
[DataMember]
public int likes_count { get; set; }
[DataMember]
public int comments_count { get; set; }
[DataMember]
public int attachments_count { get; set; }
[DataMember]
public int rebounds_count { get; set; }
[DataMember]
public int buckets_count { get; set; }
[DataMember]
public string created_at { get; set; }
[DataMember]
public string updated_at { get; set; }
[DataMember]
public string html_url { get; set; }
[DataMember]
public string attachments_url { get; set; }
[DataMember]
public string buckets_url { get; set; }
[DataMember]
public string comments_url { get; set; }
[DataMember]
public string likes_url { get; set; }
[DataMember]
public string projects_url { get; set; }
[DataMember]
public string rebounds_url { get; set; }
[DataMember]
public bool animated { get; set; }
[DataMember]
public string[] tags { get; set; }
[DataMember]
public User user { get; set; }
[DataMember]
public Team team { get; set; }
[DataMember]
public string rebound_source_url { get; set; }
}
[DataContract]
public class Images
{
[DataMember]
public string hidpi { get; set; }
[DataMember]
public string normal { get; set; }
[DataMember]
public string teaser { get; set; }
}
[DataContract]
public class User
{
[DataMember]
public int id { get; set; }
[DataMember]
public string name { get; set; }
[DataMember]
public string username { get; set; }
[DataMember]
public string html_url { get; set; }
[DataMember]
public string avatar_url { get; set; }
[DataMember]
public string bio { get; set; }
[DataMember]
public string location { get; set; }
[DataMember]
public Links links { get; set; }
[DataMember]
public int buckets_count { get; set; }
[DataMember]
public int comments_received_count { get; set; }
[DataMember]
public int followers_count { get; set; }
[DataMember]
public int followings_count { get; set; }
[DataMember]
public int likes_count { get; set; }
[DataMember]
public int likes_received_count { get; set; }
[DataMember]
public int projects_count { get; set; }
[DataMember]
public int rebounds_received_count { get; set; }
[DataMember]
public int shots_count { get; set; }
[DataMember]
public int teams_count { get; set; }
[DataMember]
public bool can_upload_shot { get; set; }
[DataMember]
public string type { get; set; }
[DataMember]
public bool pro { get; set; }
[DataMember]
public string buckets_url { get; set; }
[DataMember]
public string followers_url { get; set; }
[DataMember]
public string following_url { get; set; }
[DataMember]
public string likes_url { get; set; }
[DataMember]
public string projects_url { get; set; }
[DataMember]
public string shots_url { get; set; }
[DataMember]
public string teams_url { get; set; }
[DataMember]
public string created_at { get; set; }
[DataMember]
public string updated_at { get; set; }
[DataMember]
public int members_count { get; set; }
[DataMember]
public string members_url { get; set; }
[DataMember]
public string team_shots_url { get; set; }
}
[DataContract]
public class Links
{
[DataMember]
public string web { get; set; }
[DataMember]
public string twitter { get; set; }
}
[DataContract]
public class Team
{
[DataMember]
public int id { get; set; }
[DataMember]
public string name { get; set; }
[DataMember]
public string username { get; set; }
[DataMember]
public string html_url { get; set; }
[DataMember]
public string avatar_url { get; set; }
[DataMember]
public string bio { get; set; }
[DataMember]
public string location { get; set; }
[DataMember]
public Links1 links { get; set; }
[DataMember]
public int buckets_count { get; set; }
[DataMember]
public int comments_received_count { get; set; }
[DataMember]
public int followers_count { get; set; }
[DataMember]
public int followings_count { get; set; }
[DataMember]
public int likes_count { get; set; }
[DataMember]
public int likes_received_count { get; set; }
[DataMember]
public int projects_count { get; set; }
[DataMember]
public int rebounds_received_count { get; set; }
[DataMember]
public int shots_count { get; set; }
[DataMember]
public bool can_upload_shot { get; set; }
[DataMember]
public string type { get; set; }
[DataMember]
public bool pro { get; set; }
[DataMember]
public string buckets_url { get; set; }
[DataMember]
public string followers_url { get; set; }
[DataMember]
public string following_url { get; set; }
[DataMember]
public string likes_url { get; set; }
[DataMember]
public string projects_url { get; set; }
[DataMember]
public string shots_url { get; set; }
[DataMember]
public string created_at { get; set; }
[DataMember]
public string updated_at { get; set; }
[DataMember]
public int members_count { get; set; }
[DataMember]
public string members_url { get; set; }
[DataMember]
public string team_shots_url { get; set; }
}
[DataContract]
public class Links1 {
[DataMember]
public string web { get; set; }
[DataMember]
public string twitter { get; set; }
}
}
的反應總是有效的JSON(例如響應的位置:https://pastebin.com/raw/dLFsc1jg)
我不知道爲什麼這個代碼不工作。我總是使用相同的代碼將JSON轉換爲對象,並始終有效。