2012-02-18 5 views
0

Restサーバーでgetメソッドを作成してjson形式でデータを返します。 jsonオブジェクトにはdatetimeフィールドが1つあります。このdatetimeフィールドを渡している場合は、例外が発生します。Rest APIの中でreutrn datetime nullがjson形式のエラーを作成する

これは私はそれが

public class meta 
{ 
    private System.DateTime createdField; 
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaFo‌​rm.Unqualified)] 
    public System.DateTime created { 
     get { return this.createdField; } 
     set { this.createdField = value; } 
    } 
    } 
+0

例えば詳細を追加します。あなたのサンプルコード、例外など – bjan

+0

'null'を受け入れるには、このフィールドを' Nullable'にする必要があります –

答えて

2

を動作するようには思えない持っているコードではDateTimeNullable、それが動作する必要があることを確認します。

また、[JsonIgnore]をそのプロパティに設定してみることもできます。

class Program 
    { 
     static void Main(string[] args) 
     { 
      var mo = new MyObject { integerValue = null, dateTimeValue = null }; 
      var ser = Newtonsoft.Json.JsonConvert.SerializeObject(mo); 
      var deser = Newtonsoft.Json.JsonConvert.DeserializeObject(ser, typeof(MyObject)); 
     } 
    } 

    public class MyObject 
    { 
     public int? integerValue { get; set; } 
     public DateTime? dateTimeValue { get; set; }   
    } 
+0

こんにちは、ありがとう、Reply.butのために私は以下のオブジェクトプロパティをnullに設定することができます。パブリッククラスメタ{ プライベートSystem.DateTime createdField; [System.Xml.Serialization.XmlElementAttribute(FORM = System.Xml.Schema.XmlSchemaForm.Unqualified)] { GET {戻りthis.createdField作成 公共のSystem.DateTime。 } { this.createdField = value; }}} – user1217665

+0

クラスプログラム {静的な無効メイン(文字列[] args){ するvar MO =新しいMyObjectに{するIntegerValue =ヌル、dateTimeValue = NULL;} var ser = Newtonsoft.Json.JsonConvert.SerializeObject(mo); var deser = Newtonsoft.Json.JsonConvert.DeserializeObject(ser、typeof(MyObject)); } } パブリッククラスMyObject { public int? integerValue {get;セット; } 公開DateTime? dateTimeValue {get;セット; } } –

+1

@ user1217665の場合は、これらの詳細を質問に追加して改善する必要があります。他のユーザーもお手伝いできます。 –

関連する問題