5

プロパティにカスタム名を指定できません。サーバーからいくつかの醜いプロパティ名を持つJSON(変更できません)を受け取ります。C#コードを命名規則に固執させたいのですが。

以下は私が持っているコードです(result0.StringValueはnullのままです):

  [TestClass()]
  public class WebServiceResultConverterTest
  {
    [DataContract(Name = "SimpleObject")]
    private class SimpleObject
    {
        [DataMember(Name = "str_value")]
        public String StringValue { get; set; }

        [DataMember(Name = "int_value")]
        public String IntValue { get; set; }
    }

    [TestMethod()]
    public void DeserializeTest()
    {
        String input0 = @"{
          ""str_value"": ""This is a test string"",
          ""int_value"": 1664
        }";

        JavaScriptSerializer serializer = new JavaScriptSerializer();
        SimpleObject result0 = serializer.Deserialize<SimpleObject>(input0);

        Assert.AreEqual("This is a test string", result0.StringValue);
        Assert.AreEqual(1664, result0.IntValue);
    }
  }
4

1 に答える 1

4

DataContractJsonSerializerこれらの属性でを使用する必要があります。JavascriptSerializer.Net3.5では廃止されたと思います。

于 2011-09-08T15:04:44.047 に答える