如何:从javascript反序列化C#对象
How to : Deserialize a C# object from javascript
我在网上搜索了一下,找不到问题的答案。
我有一个由 MemoryStream 的对象创建的 C# 序列化。我想保存该序列化(这是我已经可以做的事情),然后用 JavaScript 反序列化它。
有谁知道这是否可能?我还没有看到任何可以做到这一点的 API。
谢谢你的回答。更具体地说,我已经有一个在 C# 中运行的应用程序,它使用 MemoryStream 的反序列化。这是一个相当大的应用程序,我想做尽可能少的修改。我想使用相同的序列化将另一个应用程序(在 HTML/JavaScript 中运行)与第一个应用程序链接。如果我使用 JSON 序列化,我将不得不经常修改 C# 中的代码,这是我想尽量避免的事情。
总而言之,我希望能够在我的 JavaScript 项目中"读取"由 C# 生成的序列化。
为了清楚起见,我不想使用其他序列化为JSON/XML/...,我想使用我已经使用的序列化,然后用JavaScript反序列化它。
提前谢谢。
在 C# 中使用序列化时,通常具有二进制或 XML 序列化。这些都不能被 JavaScript 开箱即用地读取。(而且尝试实现这一点确实不值得努力)。
但是从对象序列化切换到JSON(反之亦然)并不难:
Person p = new Person();
p.name = "John";
p.age = 42;
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);
(来自 MSDN 的示例:https://msdn.microsoft.com/en-us/library/bb412179%28v=vs.110%29.aspx)
所以。简而言之:重新考虑您的要求。没有 Json 您将找不到简单的解决方案
您可以尝试 XML 序列化或 JSON。C# 有一个易于使用的 XML 提供程序类,但您应该将数据解析为对象 Array,以便 Java 和 C# 可以按如下方式反序列化它们:
public class person
{
public string name;
public byte age;
public person(object[] args)
{
name = args[0];
age = args[1];
}
}
在 Recieve 上,您可以在 objec[] 中反序列化,然后使用
Person p = new Person(rec_args);
我不完全知道 Javascript 如何处理类,但在 Serilaziation 级别,您必须在基本级别(仅将变量序列化为对象数组和反向)才能获得干净的无错误执行!
- 是否可以在javascript中反序列化java对象
- 如何在C#中反序列化json对象
- 如何:从javascript反序列化C#对象
- Javascript:反序列化对象和混合方法
- 如何使用 Dojo.fromJson 反序列化包含控制字符的 Json 对象
- 字符串化和解析 JSON(序列化对象结构)和反序列化,将 JSON 字符串转换为对象结构
- 反序列化 JavaScript 对象实例
- 无法在 Javascript 中反序列化 JSON 对象
- jquery $.ajax 的 MVC 3 反序列化请求 json 到对象中填充空值而不是空白字符串
- 如何在 Node JS 中反序列化对象(Java 序列化对象)
- 反序列化c#中的嵌套json对象
- 序列化javascript对象并对其进行反序列化
- 对具有数组的对象进行反序列化(Ajax调用+C#)
- Immutablejs:如何反序列化复杂的JS对象
- 如何反序列化未知派生类的JavaScript对象
- c# Web服务到javascript反序列化JSON对象
- 在反序列化JSON对象时,是否有方法将属性名称转换为小写?
- 用图像对象序列化和反序列化画布(Fabricjs)
- 在包含 JsonIdentityInformation 的 JavaScript 中反序列化 Jackson 对象
- 使用JavaScriptSerializer反序列化JSON对象