2015-09-13 3 views
-1

Error: The type arguments for method 'System.Web.Script.Serialization.JavaScriptSerializer.Deserialize<T>(string)' cannot be inferred from the usage. Try specifying the type arguments explicitly.JavaScriptSerializer Deserialize C#?

string url = null; 
public int GetLinkedIn() 
{ 
    var jsonString = new System.Net.WebClient().DownloadString("http://www.linkedin.com/countserv/count/share?url=" + url + "&format=json"); 

    var json = new JavaScriptSerializer().Deserialize<dictionary dynamic="" string="">>(jsonString); 
    var count = Convert.ToInt32(json["count"]); 

    return count; 
} 
+3

Что это: 'Deserialize '? Какой тип вы ожидаете после десериализации? – dotnetom

+0

'jsonString' содержит JSON, а не Javascript. Взгляните на Newtonsft Json.Net –

+0

Я не думаю, что 'Deserialize >' является даже допустимым синтаксисом? –

ответ

1

Вы можете использовать класс JavaScriptSerializer, чтобы решить ответ JSon

int GetLinkedIn(string url) 
{ 
    url = "http://www.linkedin.com/countserv/count/share?url=" + url + "&format=json"; 
    var jsonString = new WebClient().DownloadString(url); 
    return new JavaScriptSerializer().Deserialize<LinkdInJson>(jsonString).count; 
} 

И вам нужно создать класс для представления сущности ответа Json

public class LinkdInJson 
{ 
    public int count { get; set; } 
    public string fCnt { get; set; } 
    public string fCntPlusOne { get; set; } 
    public string url { get; set; } 

} 
+0

спасибо за то, что я помогу, я думаю, что он будет работать сейчас. –

+0

спасибо, что сейчас я работаю для меня – fiyat

-1

Тип аргумента к методу Deserialize неправильный, правильная форма

var dic = new JavaScriptSerializer().Deserialize<Dictionary<string, dynamic>>(jsonString); 
+0

Мне кажется, что ошибка компиляции в том, что аргумент типа '' не может быть распознан. Я исправляю его с помощью словаря > и он работает. Однако я не смог воспроизвести ошибку, сообщенную OP. – kennyzx

+0

Конечно, но можете ли вы объяснить это в своем ответе? Этот конкретный бит синтаксиса в любом случае похож на ошибку копирования-вставки, некоторые автоформаты, выполняемые редактором XML Visual Studio. – CodeCaster

+0

ОК, я улучшаю свой ответ. – kennyzx