servicestack,odata,azure-storage,Serialization,Azure,servicestack,Odata,Azure Storage" /> servicestack,odata,azure-storage,Serialization,Azure,servicestack,Odata,Azure Storage" />

Serialization OData序列化和反序列化

Serialization OData序列化和反序列化,serialization,azure,servicestack,odata,azure-storage,Serialization,Azure,servicestack,Odata,Azure Storage,我需要将自定义类c对象转换为ODataJSON格式,然后将其转换回我的对象。有没有图书馆可以做这件事。我需要类似Newtonsoft.Json的东西 例如: string json = Newtonsoft.Json.JsonConvert.SerializeObject(myObject); 如果您需要了解以下情况: 我正在使用Windows Azure表存储来保存我的对象。客户端可以保存任何类型的对象azure表存储限制。客户端将仅连接到作为web角色部署在Windows Azure云上的

我需要将自定义类c对象转换为ODataJSON格式,然后将其转换回我的对象。有没有图书馆可以做这件事。我需要类似Newtonsoft.Json的东西

例如:

string json = Newtonsoft.Json.JsonConvert.SerializeObject(myObject);
如果您需要了解以下情况:

我正在使用Windows Azure表存储来保存我的对象。客户端可以保存任何类型的对象azure表存储限制。客户端将仅连接到作为web角色部署在Windows Azure云上的my service ServiceStack。此服务将处理客户端请求,例如身份验证/授权,然后连接到表存储以保存客户端发送的对象


最主要的是,作为web角色部署的服务ServiceStack不知道客户端发送的对象的类类型,因为客户端可以创建任何新类并发送其对象进行持久化。Windows表存储REST API支持OData。我正在为客户端编写SDK,以便向我的服务web角色发送请求。SDK会在将对象序列化为OData格式后发送请求,以便我的服务也能理解其模式。

不幸的是,OData没有独立于edm模型的序列化器和反序列化器。OData仅在模型定义对象时序列化和反序列化对象,因为必须使用模型将对象转换为OData格式的值

您是否考虑过将Azure Table SDK用于.NET?AFAIK、Azure表支持存储中的自定义类型


另外,如果您确实需要对客户机对象进行序列化,那么您似乎只需要在客户机上序列化它们,然后将序列化的字符串存储在Azure表中。当您需要使用它们时,您可以从Azure表中获取字符串,然后在您的客户端上反序列化它们。

出于好奇,这是因为您使用httpclient访问odata端点吗?不是。我不是直接访问odata端点。我的服务器端实现ServiceStack服务需要了解序列化对象的架构,对其进行处理,然后通过odata端点将其发送到另一台服务器。仍在尝试了解确切的问题。您有一个调用另一个服务的服务。您需要处理服务结果,然后将其发送回?我已经在问题的底部添加了场景。希望有帮助。那么您希望服务接受从您不知道的类序列化的字符串,然后将其转换为EDM供客户端稍后查询?这只是安装吗?我的意思是,客户端只是第一次发送序列化类来描述实体?