Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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反序列化为嵌套的C#对象_C#_Json_Rest - Fatal编程技术网

将JSON反序列化为嵌套的C#对象

将JSON反序列化为嵌套的C#对象,c#,json,rest,C#,Json,Rest,我想知道将对象传递到RESTful服务方法中是否存在任何问题,该方法包含其他对象以及基本类型 例如,如果我有以下代码抽象: 服务接口 [WebInvoke(Method = "POST", UriTemplate = "projectors", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] [

我想知道将对象传递到RESTful服务方法中是否存在任何问题,该方法包含其他对象以及基本类型

例如,如果我有以下代码抽象:

服务接口

    [WebInvoke(Method = "POST", UriTemplate = "projectors", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
    [OperationContract]
    void RecordBreakdown(Record record);    
POCO对象

public class Record
{     
    [DataMember]
    public string SerialNumber { get; set; }

    [DataMember]
    public int ModelCode { get; set; }

    [DataMember]
    public ErrorCode Errors { get; set; }
}

public class ErrorCode
{     
    [DataMember]
    public int id { get; set; }

    [DataMember]
    public string description { get; set; }

    [DataMember]
    public string status { get; set; }
}

类“Record”包含对对象“ErrorCode”的引用。这将导致JSON属性到对象属性的映射出现任何问题。在哪种情况下,最好将JSON对象作为字符串传入,然后使用.net或第三方库对其进行反序列化?

您是在寻求最佳做法还是在反序列化时确实出现错误?我认为最佳做法是使用JavascriptSerializer对对象进行反序列化。传递对象中包含另一个对象类型。@DavidL无错误。想知道怎么做。谢谢你的其他评论