12
我已經閱讀了兩篇關於反序列化錯誤的文章,但是我沒有得到任何地方,所以我發佈了自己的問題。JSON反序列化類型不支持數組的反序列化
我有一個返回JSON的WCF服務。在對特定類型進行反序列化後,它會失敗。
爲了讓您輕鬆地複製錯誤,我在硬編碼下面的JSON以及調用。
基本上你應該能夠複製/粘貼下面的代碼,並看到它失敗。
消費者需要將其反序列化爲工作對象。 s.Deserialize失敗並顯示標題中提到的錯誤消息。
注:我意識到我的JSON中有斜槓。那些是爲了方便逃避報價。謝謝。
示例代碼:
var s = new JavaScriptSerializer();
var jstr =
"[{\"UserId\":1,\"WorkoutId\":1,\"WorkoutInfo\":[\"Step 1\",\"Step 2\"]},{\"UserId\":2,\"WorkoutId\":2,\"WorkoutInfo\":[\"Step 1a\",\"Step 2a\"]},{\"UserId\":5,\"WorkoutId\":0,\"WorkoutInfo\":[\"new work1\",\"new work 1\",\"new work 1\"]}]";
Workout blah = s.Deserialize<Workout>(jstr);
var response = ServicePOST<Workout>("AddUserWorkout", workout);
和鍛鍊類:
public class Workout
{
public int UserId { get; set; }
public List<string> WorkoutInfo { get; set; }
}
這最終成爲我從我的WCF服務器配置響應的一個愚蠢的錯誤。我因爲一些愚蠢的原因返回了列表。 這幫我看到了。在1分鐘限制結束後接受答案。 謝謝 –
tronious