6
votes

Aplatiser un objet JSON complexe pour la liaison MVC

Mon contrôleur renvoie un graphique d'objet à la vue du format JSON, comme celui-ci xxx

sur la vue mon objet JSON ressemble à ceci xxx

Quelle carte correctement à mon objet client: xxx

Je veux transmettre ce même objet JSON à une autre méthode sur le contrôleur avec cette signature: < Pré> xxx

Lorsque je fais que le nom du client est renseigné mais pas la classe de budget, que je comprends pourquoi, parce que la modélisation attend ceci: {Nom: 'Joe', 'Budget.Amount': 500, 'Budget.Spend': 100}

Donc, je dois envoyer des options: 1. Je peux retourner l'objet JSON dans le format qu'il souhaite, mais je ne sais pas comment parce que vous ne pouvez pas faire cela: xxx

  1. Je peux aplatir l'objet JSON du côté du client. Y a-t-il des plugins ou des méthodes pour faire cela?

2 commentaires

Mais vous pouvez faire cela, non? Je ne sais pas si cela résout votre problème: retour JSON (nouveau {budget = nouveau {montant = 500}})


J'essaie d'aplatir l'objet JSON pour que le résultat soit '{' budget.mont '= 500}'


3 Réponses :


5
votes

Voici une fonction qui convertissait un objet à un hachage plat xxx


3 commentaires

Oh non ... tu veux aplatir le Json dans un hachage?


Votre solution fonctionnera, mais je devrai avoir «budget» comme nom de propriété, je le fais actuellement en passant une variable de préfixe à la fonction 'Walk'


À propos de la mauvaise pratique ... Je ne connais pas vos contraintes côté serveur, mais oui ... Cela ressemble à un reçu pour des problèmes.



0
votes

Dans mon cas, nous l'avons résolu en passant un objet supplémentaire à l'URL d'action.

Méthode d'action de l'action publique (client client, [Bind (préfixe = "budget")] Budget budgétaire)

Pour que cela se produise, vous devez aplatir les données JSON (avant de l'envoyer au contrôleur) de la manière suivante:

Comment passer de type complexe Utilisation de JSON vers ASP.NET MVC Controller


0 commentaires

1
votes

0 commentaires