Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 将ServiceStack客户端与非ServiceStack REST服务一起使用_Json_Rest_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,Json,Rest,servicestack" /> servicestack,Json,Rest,servicestack" />

Json 将ServiceStack客户端与非ServiceStack REST服务一起使用

Json 将ServiceStack客户端与非ServiceStack REST服务一起使用,json,rest,servicestack,Json,Rest,servicestack,我在使用ServiceStack的DataContract API+*ServiceClient从标准XML/JSON REST服务中获得适当的反序列化时遇到了一些问题。例如,如果我们获取以下输出(使用accept标头获取json): 如何构造一个模型对象来处理 该服务的JSON输出和hte XML输出(使用accept 获取json的头文件 是否需要在中提供一个显式的“Name”参数 DataContract和DataMember属性以获取适当的 反序列化 ServiceStack如何将XM

我在使用ServiceStack的DataContract API+*ServiceClient从标准XML/JSON REST服务中获得适当的反序列化时遇到了一些问题。例如,如果我们获取以下输出(使用accept标头获取json):

  • 如何构造一个模型对象来处理 该服务的JSON输出和hte XML输出(使用accept 获取json的头文件

  • 是否需要在中提供一个显式的“Name”参数 DataContract和DataMember属性以获取适当的 反序列化

  • ServiceStack如何将XML/JSON对象名与 模型中的属性名称?它们区分大小写吗

  • 我们能在JsonRestClientAsync中获得某种类型的通用Func委托API来无缝地 整合我们自己的反序列化机制,我们有第三方格式的处理 用什么

  • 是的,我知道我可以使用ServiceStack.Text进行显式反序列化。在我所有的.NET项目中,我几乎都承担了这种依赖性:-)

    谢谢


    Anuj

    如果它是第三方web服务(即,不是ServiceStack web服务),那么我只会尝试解析它们的一种格式,我个人更喜欢JSON,以便在它们更改API时具有更好的弹性。在我看来,试图用同一个模型支持不同的格式是一个失败的提议,他们可以随时轻易地打破它


    至于ServiceStack的JSON序列化程序,在最新版本中,属性是不区分大小写的,您可以设置
    JsConfig.EmitCamelCaseNames=true
    ,使其改为发出camelcase名称


    如果您希望属性名称与生成的名称不同,它现在也尊重
    [DataMember(Name=“custom”)]
    参数。

    JsConfig.EmitCamelCaseNames=true
    正是我个人想要的。谢谢!:)