Das vereinfachen eines komplexen json-Objekt für mvc-Bindung

Mein controller ist wieder ein Objekt, Diagramm-Ansicht im json-format wie dieses

return Json(customer);

Ansicht auf meine json-Objekt sieht wie folgt aus

{
    Name: 'Joe',
    Budget: { Amount: 500, Spend: 100 }
}

Die Karten richtig zu meinen Kunden Objekt:

public class Customer 
{
    public string Name {get;set;}
    public Budget Budget{get;set;} 
}

public class Budget  
{
    public decimal Amount{get;set;}    
    public decimal Spend{get;set;} 
}

Möchte ich weitergeben, dass die gleichen json-Objekt zurück, zu einer anderen Methode auf dem controller, die mit dieser Signatur:

public ActionResult Method(Customer customer)

Wenn ich diese Namen des Kunden bekommen, aufgefüllt, aber nicht das Budget-Klasse, die ich verstehen, warum da der modelbinder wird erwartet: {Name:'Joe','Budget.Betrag':500,'Budget.Verbringen': 100}

So habe ich zwei Möglichkeiten:
1. Ich kann das json-Objekt in das format-es will, aber ich weiß nicht wie, denn Sie können nicht dies tun:

return Json(new { Budget.Amount= 500})
  1. Ich reduzieren können, das json-Objekt auf der client-Seite. Gibt es plugins oder Methoden, dies zu tun?
  • aber Sie können dies tun, richtig? nicht sicher, ob dies löst Ihr problem: return Json(new { Budget = new { Betrag = 500 }})
  • ich bin versucht zu glätten json-Objekt so, dass das Ergebnis '{ 'Budget.Amount = 500 }'
InformationsquelleAutor adriaanp | 2010-02-05
Schreibe einen Kommentar