我有API含有JSON數據http://bbs.eamobiledirectory.com/Mobile/MobileApi.aspx?Action=SalesProfile&unm=sheila&upass=1234。我想執行登錄檢查,如果有人在輸入中輸入用戶名,用戶名將在用戶名中通過API驗證,然後進行身份驗證。登錄邏輯使用Xamarin形式
我如何使用JSON反序列化來實現這一目標?
編輯
這是怎麼了我正在執行它:
public async void onLogingingIn(object sender, System.EventArgs e)
{
string Usename = username.Text.ToString();
string Password = password.Text.ToString();
string url = "http://bbs.eamobiledirectory.com/Mobile/MobileApi.aspx?Action=SalesProfile&unm=" + Usename + "a&upass=" + Password;
var response = await client.GetStringAsync(url);
var todoItems = JsonConvert.DeserializeObject<Login>(response);
var Usnmae = todoItems.username;
await DisplayAlert("Notification ", "" + Usnmae, "OK");
}
,但我在我的logcat收到此錯誤:
Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'BBSTV.Login' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
對不起,但我投票結束這個問題太廣泛。基本上,我們要求我們無需付出任何努力即可構建應用程序的登錄部分。另外JSON反序列化並不困難,而且已經有很多。請參閱[如何提問](https://stackoverflow.com/help/how-to-ask)頁面來了解如何提出正確的問題。 –
它不是兄弟,只是檢查我的API的邏輯,有一些小我想要一個僞代碼 –
儘管如此,你的一些努力是值得讚賞的。你可以使用[json2csharp](http://json2csharp.com/)輕鬆地爲此創建一個類,並且像使用'RootObject account = JsonConvert.DeserializeObject(json);' –