我有一個代碼,訪問Api
鏈接並檢索該值Json
並將它們存儲在object list
。然而,當沒有東西可以檢索時(鏈接到Api不存在),它什麼都不返回。c#Api Json反序列化時,404,值是錯誤的
但即使Api鏈接錯誤,它仍然返回Json值。這些是他們的默認值,即使沒有與請求的ID相匹配的東西,它們也會始終存在。
下面的鏈接將顯示值將始終返回無論什麼
這裏是我打電話給API
var spidyApi_idByName_result = api_Handler.objFromApi_nameToId(spidyApi_searchIdByName);
這裏的API訪問Json被反序列化。
public RootObject objFromApi_nameToId(string url){
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
try{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream()){
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
var jsonReader = new JsonTextReader(reader);
var serializer = new JsonSerializer();
return serializer.Deserialize<RootObject>(jsonReader);
}
}
catch (WebException){
throw;
// used throw as otherwise i can not run code, function requires every path to return
// Catch never gets called
}
}
RootObject類
public RootObject GetApi(string url)
{
// ...
return serializer.Deserialize<RootObject>(jsonReader);
}
我怎麼去走一走,忽略了他們的 「默認」 的JSON值?什麼都不做。
您的RootObject是否有一個名爲count的屬性? – 2015-04-03 21:12:52
是的,它的確如此。 'public int count {get;組; }' – 2015-04-03 21:15:44
不正確API的預期系統行爲是什麼?你期待它從你的objFromApi_nameToId方法返回一個空對象嗎? – 2015-04-03 21:16:50