0
因此,我發送一個Json對象到我的服務器,並且我想將它轉換爲我稱爲PersonalPreferences的強類型用戶類型對象。使用JavaScriptSerializer將Json字符串轉換爲對象
這裏是JS
{
"PersonalPreferences": [
{
"FavoriteFood": "Pasta with butter and cheese"
},
{
"FavoriteSport": "Submission Wrestling"
},
{
"FavoriteGame": "Starcraft 2"
},
{
"FavoriteMusic": "Hip Hop"
}
]
}
我已經創建了一個JSON對象我發送匹配的類。
[DataContract]
public class PersonalPreferences
{
[DataMember]
public string FavoriteFood { get; set; }
[DataMember]
public string FavoriteSport { get; set; }
[DataMember]
public string FavoriteGame { get; set; }
[DataMember]
public string FavoriteMusic { get; set; }
public PersonalPreferences()
{
}
public PersonalPreferences(string favoriteFood, string favoriteGame, string favoriteMusic, string favoriteSport)
{
this.FavoriteFood = favoriteFood;
this.FavoriteGame = favoriteGame;
this.FavoriteMusic = FavoriteMusic;
this.FavoriteSport = favoriteSport;
}
}
這裏是我的處理程序接收請求並將其轉換爲用戶類型對象。 我的問題是PersonalPreference對象是空的。 jsSerializer.Deserialize調用空構造函數,並且Json對象中的值不會傳遞給PersonalPreference對象。 我已檢查請求中的Json值是否存在於字符串中。
[WebService(Namespace = "http://localhost:53243")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class JSonTestHandler : IHttpHandler, System.Web.SessionState.IReadOnlySessionState
{
public void ProcessRequest(HttpContext context)
{
string jsonData = new StreamReader(context.Request.InputStream, System.Text.Encoding.UTF8).ReadToEnd();
var jsSerializer = new JavaScriptSerializer();
var personalPreferences = jsSerializer.Deserialize(jsonData, typeof(PersonalPreferences));
}}
是的!現在它可以工作。非常感謝現在我知道如何去Json。 :) – Lautaro
我用手從客戶端Javascript中編寫了Json格式。你有更好的方法嗎? – Lautaro