我有一個類作爲這樣對象反序列在C#
[Serializable]
public class ExternalAccount
{
public string Name { get;set;}
}
我已經轉換這JSON像這樣
{\"Name\":\"XYZ\"}
我已經然後base64編碼JSON字符串
然後我通過網絡發送到web api服務
我收到base64編碼的字符串,現在需要de-將其序列化回原始對象(ExternalAccount),所以我首先做一個
byte[] byteArray = Convert.FromBase64String(base64EncodedExternalAccount);
下一步是什麼?
我曾嘗試以下,但返回null ...
using (MemoryStream memoryStream = new MemoryStream(byteArrayToConvert))
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
// set memory stream position to starting point
memoryStream.Position = 0;
// Deserializes a stream into an object graph and return as a object.
return binaryFormatter.Deserialize(memoryStream) as ExternalAccount;
}
任何指針/提示不勝感激。
'BinaryFormatter'不能反序列化來自JSON字符串的對象。它是.NET特定的二進制序列化格式。你能展示如何將JSON字符串編碼爲BASE64的完整示例嗎? – hal
你真的需要以base-64字符串的形式發佈到你的API嗎?如果可能,請更新您的API,以便您可以發送普通的JSON。感謝Hal - – LukeH
- 這對未來很有用。 – AdrianSean