Ich bin nicht wirklich sicher, wie das Problem Begriff aber, ich habe folgendes json:Wie Deserialisieren json mit Objektnamen
{
"person": {
"first_name": "John",
"gender": "M",
"last_name": "Doe"
}
}
Und Deserialisieren mit json.net/javascriptserializer(asp.net) I habe folgenden Testcode:
public class Person
{
public string first_name { get; set; }
public string last_name { get; set; }
public string gender { get; set; }
}
[Test]
public void TestDeserialize()
{
string json = @"{""person"":{""first_name"":""John"",""gender"":""M"",""last_name"":""Doe""}}";
var serializer = new JavaScriptSerializer(); // asp.net mvc (de)serializer
Person doe = serializer.Deserialize<Person>(json);
Person doe1 = JsonConvert.DeserializeObject<Person>(json); // json.net deserializer
Assert.AreEqual("John", doe.first_name);
Assert.AreEqual("John", doe1.first_name);
}
Die Testmethode schlägt fehl, weil beide null sind. Alles falsch mit meinem Code zu deserialisieren?
Danke Darin das funktioniert, es saugt nur, dass Sie ein Zwischenobjekt haben müssen. – bonskijr
Sie benötigen dieses Zwischenobjekt aufgrund Ihrer JSON-Definition. So einfach ist das. Wenn Ihr JSON nicht den Teil "person" enthält, benötigen Sie das Objekt nicht. –